[ Mix5 @ 19.12.2005. 22:32 ] @
Dobio sam zadatak da napisem program kojim se uredjuju reci linije teksta koja se unosi sa standardnog ulaza po rastucoj duzini reci. Smatrati da linija teksta sadrzi najvise 10 reci i sa svaka rec ima najvise 20 karaktera. Reci su odvojene jednim razmakom. Program treba da ucita sve potrebne podatke, zatim izvrsi zahtevanu obradu, i na kraju ispise rezultate te obrade. Pri zadavanju niza, prvo se ucita broj elemenata, a zatim i sami elementi niza. Kod ispisivanja niza, ne ispisuje se broj elemenata, vec se ispisuju samo elementi niza. Program treba da ponavlja ceo postupak sve dok se ne unese neka karakteristicna vrednost za neki od ulaznih podataka (npr. negativna vrednost za duzinu niza). Predvideti maksimalni broj elemenata niza, a u toku rada proveravati da li je uneta dimenzija niza manja od maksimalne.

Napisao sam program koji ocigledno ne funkcionise kako treba pa ako neko moze da mi objasni zasto program ne radi i sta treba izmeniti da bi radio bio bih mu jako zahvalan.

Zadatak je u attachmentu

[Ovu poruku je menjao Mix5 dana 20.12.2005. u 00:01 GMT+1]
[ Celebmegil @ 20.12.2005. 02:10 ] @
Evo ti prepravljene verzije tvog programa.
Kod tebe je greska bila sto si samo jednom ucitavo niz.
Takodje treba da mu dozvolis i da ucitava max_el stringova jer kaze da je to maksimalan broj (sto znaci da se i on racuna).

Code:

program dz3;
const max_el=10;
type niz=array[1..max_el] of string[20];
var  a:niz;
     pom:string[20];
     i,p:1..20;
     n:integer;
begin
     write('Unesite broj el. niza: ');read(n);
     while (n>0) and (n<=max_el) do
     begin
      for i:= 1 to n do
                 readln(a[i]);
          for i:= 1 to n-1 do
              for p:= i+1 to n do
                 if length(a[i]) > length(a[p]) then
                 begin
                      pom:=a[i];
                      a[i]:=a[p];
                      a[p]:=pom;
                 end;
          for i:=1 to n do
              writeln(a[i]);

     write('Unesite broj el. niza: ');read(n);
     end
end.
[ Mix5 @ 20.12.2005. 05:10 ] @
Jel si ti proverio da li ovo kod tebe radi. Kod mene ne. I dalje pravi isti problem, ne ucitava uopste prvi element niza. Kad pocne da ucitava niz pocne od drugog elementa a prvi ostavi prazan.
[ Passwd @ 20.12.2005. 20:02 ] @
Daj neki test primjer, neda mi se citat zadatak i gledat kod..
[ Mix5 @ 22.12.2005. 19:36 ] @
Resio sam zadatak. Problem je bio kod ucitavanja broja elemenata niza.