Резултати от 1 до 14 от общо 14

Паскал: Интересна задача

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #1

    Паскал: Интересна задача

    Здравейте, видях една много интересна задача, обаче не съм запознат с матриците.
    Да се състави програма за обработка на масива A[N,N] където данните са реални числа в интервала [- 1000 - 1000], да извършват следните действия:
    - въвеждане на входните данни
    - отпечатване на входните данни
    - а) да се образува едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал.
    б) Получения масив да се сортира по големина.
    - отпечатване на получените резултати след обработка a) и обработка б).


    бирата е от мен

  2.  
     
  3. etg
    etg е офлайн
    Administrator
    Тук е от
    Dec 2000
    Мнения
    1,393
    #2

    Re: Паскал: Интересна задача

    Здравей, имам много интересно лозе за прекопаване, на баир, обаче не знам как се държи мотиката.
    Бирата е от мен.

  4. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #3

    Re: Паскал: Интересна задача

    дай ще измислим нещо

  5. Senior Member
    Тук е от
    Feb 2003
    Мнения
    2,351
    #4

    Re: Паскал: Интересна задача

    Цитат Първоначално публикувано от xzone
    дай ще измислим нещо
    За данъчен ли учиш Правилната реплика не бива да започва с 'ДАЙ', а с 'Вземи да измислим нещо'
    Ноо, както всички знаят в тоя форум, понеже съм добър по душа, ето ти насока за работа (копане):



    Код:
    Program Interesna_Zadacha;
    uses Crt;
    Const N=10; //broi na dannite v masiva
    Var 
    A:array[1..n,1..n] of integer;
    C:array[1..n,1..n] of integer;
    
    
    Procedure EnterMasiv(m:integer);
    VAR I,J:integer;
     begin
     For I:=1 to M do
     For J:=1 to M do
     begin
     Write('N ',I,'-',j,'=');Readln(A[i,j]);
     end;
     end;
    
    
     Procedure PrintMasiv(M:integer);
    
     Var I,J:Integer;
     begin
     ClrScr;
    For I:=1 to M do
    For J:=1 to M do
     begin
     WriteLn('N ',I,'-',J'=',A[i,j]);
     end;
     end;
    
      begin
       ClrScr;
       EnterMasiv(n);
       PrintMasiv(n)
       Preobraz(n);
       Sort(N);
       PrintMasivNew(n)
      end.
    Ако си по-наблюдателен, ще забележиш, че някой процедури липсват, но нали и ти все нещо трябва да свършиш.
    Щото ако от началото си тръгнал да мързелуваш и друг да ти върши работата - друго освен директор няма да станеш, както мъдро разказва Страхил Божикравов в епизод от УЛИЦАТА

    PS. Коригирах малко кода, в бързането да помогна съм недогледал 10x на dmanov

  6. Member
    Тук е от
    Nov 2001
    Мнения
    957
    #5

    Re: Паскал: Интересна задача

    Цитат Първоначално публикувано от Black Adder
    За данъчен ли учиш Правилната реплика не бива да започва с 'ДАЙ', а с 'Вземи да измислим нещо'
    .....
    Щото ако от началото си тръгнал да мързелуваш и друг да ти върши работата - друго освен директор няма да станеш, както мъдро разказва Страхил Божикравов в епизод от УЛИЦАТА
    @Black Adder:
    Добавено към Blacky's Pearls!!!

    Извинявам се за -а, но бисерчето си е чудно!!!

  7. Member
    Тук е от
    Nov 2005
    Мнения
    295
    #6

    Re: Паскал: Интересна задача

    Напълно съм съгласен, че подсказката е най-доброто за човека, още повече, че никъде не иска готово решение на задачата.
    Позабравил съм Pascal-а, но мисля, че има малки грешки, които в "подсказка" не би трябвало да ги има:
    1. Входният масив е двумерен NxN
    2. Изходният масив съдържа елементите под диагонала на входния. Т.е. неговите елементи са Nx(N-1)/2

  8.  
     
  9. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #7

    Re: Паскал: Интересна задача

    Еййй велики сте хора ! Казвайте сега къде си искате бирите :D


    Значи имам малък проблем,
    стигнах до тук

    Код:
    program kursova1;
    uses crt;
    const z=1000; y=1000;
    var n,m,i,j,k,r,min:integer;
    flag:boolean;
    a : array [1..z,1..y] of integer;
    b : array [1..z] of integer ;
    label et1,et2;
    begin
    writeln ('-------------------------------------------------------------');
    writeln ('This program was made by G. Ivanov , N: . ');
    writeln (' TU - Sofia , Departament of ThermalPower Engineering ');
    writeln ('*************************************************************');
    writeln (' ---===<<< Kursova Zadacha N:1 >>>===---');
    writeln ('___________________________________________________________');
    writeln (' Да се състави програма за обработка на масива A[N,N] където данните са реални числа в интервала [- 1000 - 1000], да извършват следните действия:
    - въвеждане на входните данни
    - отпечатване на входните данни
    - а) да се образува едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал.
    б) Получения масив да се сортира по големина.
    - отпечатване на получените резултати след обработка a) и обработка б).
    ');
    writeln ('_____________________________________________________________');
    writeln;
    write ('Molq vuvedete broja Redowe na mnojestwoto A: ');
    readln (n);
    write ('Molq vuvedete broja Stulbowe na mnojestwoto A: ');
    readln (m);
    writeln ('Molq vuvedete stojnostite na mnojestwoto A: ');
    for i:=1 to n do
    for j:=1 to m do
    begin
    et1:
    write ('A[',I,',',J,']:');
    readln (A[I,J]);
    if sqr(A[i,j])>1000000 then
    begin
    Writeln ('Stojnostta triabva da e v intervalut [-1000 - 1000]');
    goto et1;

    end;

    и се чудя
    как да направя едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал?

    може ли малко help

  10. etg
    etg е офлайн
    Administrator
    Тук е от
    Dec 2000
    Мнения
    1,393
    #8

    Re: Паскал: Интересна задача


    Тая тема е бих я сложил в "Логически задачи".
    Другите ми коментари и обяснения може да обидят някои хора, така че ще ги спестя. Ако някой се интересува, като се видим на маса ще да го споделя

  11. Senior Member
    Тук е от
    Feb 2003
    Мнения
    2,351
    #9

    Re: Паскал: Интересна задача

    Цитат Първоначално публикувано от xzone
    begin
    Writeln ('Stojnostta triabva da e v intervalut [-1000 - 1000]');
    goto et1;

    и се чудя
    как да направя едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал?
    "Божееееее, колко мъка има по тоя свят, Божееее! - промълви Моканина и продължи да скубе бялата лястовица"

    Добре че не може да те види Никлаус Вирт как се гавриш с Pascal-a, щеше да грабне гьостерицата и чак от Швейцария да дойде да те направи двумерен.

    Не че се заяждам, хайде - не ти се чете какво са писали хората в учебника - лошо няма , не ти се чете какво са писали хората в Интернет - добре , ама поне да беше прочел тук какво са ти отговорили.


    Нейсе, така и така ще ставаш директор, вземи намери някое по-будно хлапе в махалата, черпи го една боза да ти напише задачката.

  12. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #10

    Re: Паскал: Интересна задача

    Цитат Първоначално публикувано от Black Adder
    "Божееееее, колко мъка има по тоя свят, Божееее! - промълви Моканина и продължи да скубе бялата лястовица"

    Добре че не може да те види Никлаус Вирт как се гавриш с Pascal-a, щеше да грабне гьостерицата и чак от Швейцария да дойде да те направи двумерен.

    Не че се заяждам, хайде - не ти се чете какво са писали хората в учебника - лошо няма , не ти се чете какво са писали хората в Интернет - добре , ама поне да беше прочел тук какво са ти отговорили.


    Нейсе, така и така ще ставаш директор, вземи намери някое по-будно хлапе в махалата, черпи го една боза да ти напише задачката.

    ти изобщо не се заяждаш :D

  13. Member
    Тук е от
    Nov 2005
    Мнения
    295
    #11

    Re: Паскал: Интересна задача

    Код:
    k:=1
    for i:=1 to z // редове
     for j:=1 to z // колони
      if( j<i ) then // при i=j сме на диагонала, при i<j сме над него, а при j<i - под
    	  begin
    	   c[k]:=a[i,j]
    	   k:=k+1
    	  end
    Не ти трябва константа "y", масивът a е N на N, както е по условие
    Масивът c (а не b) трябва да с размерност N*(N-1)/2

    Всъщност, може да се оптимизира така:
    Код:
    k:=1
    for i:=2 to z // редове
     for j:=1 to i-1 // колони
    	  begin
    	   c[k]:=a[i,j]
    	   k:=k+1
    	  end

  14.  
     
  15. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #12

    Re: Паскал: Интересна задача

    Добре де ама защо ми дава грешка в "WriteLn('N ',I,'-',J'=',A[i,j]); " нещо не мога да си го обясня ? Иначе програма трябва да изглежда така, нали ?

    Код:
    Program Interesna_Zadacha;
    uses Crt;
    Const N=10; //broi na dannite v masiva
    Var 
    A:array[1..n,1..n] of integer;
    C:array[1..n,1..n] of integer;
    
    
    Procedure EnterMasiv(m:integer);
    VAR I,J:integer;
     begin
     For I:=1 to M do
     For J:=1 to M do
     begin
     Write('N ',I,'-',j,'=');Readln(A[i,j]);
     end;
     end;
    
    
     Procedure PrintMasiv(M:integer);
    
     Var I,J:Integer;
     begin
     ClrScr;
    For I:=1 to M do
    For J:=1 to M do
     begin
     WriteLn('N ',I,'-',J'=',A[i,j]);
     end;
     end;
      k:=1
    for i:=2 to z // &#240;&#229;&#228;&#238;&#226;&#229;
     for j:=1 to i-1 // &#234;&#238;&#235;&#238;&#237;&#232;
    	  begin
    	   c[k]:=a[i,j]
    	   k:=k+1
    	  end
      begin
       ClrScr;
       EnterMasiv(n);
       PrintMasiv(n)
       Preobraz(n);
       Sort(N);
       PrintMasivNew(n)
       end.
    Извинявам се за невежеството си... Просто програмата ми трябва за петък и нямам време да попрочета повече за Паскал

  16. Junior Member
    Тук е от
    Nov 2004
    Мнения
    100
    #13

    Re: Паскал: Интересна задача

    дали тази блок схема е удачна ? http://img235.imageshack.us/my.php?image=blokao8.jpg

  17. Moderator
    Тук е от
    Mar 2005
    Мнения
    7,189
    #14

    Re: Паскал: Интересна задача

    Цитат Първоначално публикувано от xzone
    защо ми дава грешка в "WriteLn('N ',I,'-',J'=',A[i,j]); " нещо не мога да си го обясня ? ...
    Една запетайка си пропуснал - WriteLn('N ',I,'-',J,'=',A[i,j]);
    Успех в петък

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. Неясен алгоритъм за задача на Паскал
    От SounDreameR във форум Програмиране
    Отговори: 4
    Последно: 18-05-10, 15:52
  2. Помощ на Паскал
    От LiLiLiTa във форум Програмиране
    Отговори: 9
    Последно: 09-08-09, 22:56
  3. Интересна Sql задача
    От KoftiSector във форум Програмиране
    Отговори: 6
    Последно: 24-05-09, 13:54
  4. паскал или джава
    От sf7878 във форум Програмиране
    Отговори: 5
    Последно: 01-05-08, 06:58
  5. Паскал?
    От heat_ във форум Програмиране
    Отговори: 2
    Последно: 25-07-06, 11:09

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе