--- PERMUTAC.PAS 2007-11-17 01:21:09.000000000 +0100 +++ PERMUTAC2.PAS 2007-11-17 23:36:13.000000000 +0100 @@ -1,13 +1,10 @@ program permutace; type pole = array[1..100] of integer; -var vstup: pole; - i,l,z,delkapole,err:integer; - temp,temp2,vystup:string; +var i,z,delkapole:integer; + a:pole; -function dalsiprvek(vs:pole;dp:integer): string; -const vystup2:string=''; +function dalsiprvek(vs:pole;dp:integer): pole; var j,k,tempi:integer; - temps:string; konec:boolean; begin @@ -33,24 +30,28 @@ end; end; -for k:=1 to dp do begin str(vs[k],temps); vystup2:=vystup2+temps+' '; end; -if konec then dalsiprvek:='NEEXISTUJE' else dalsiprvek:=vystup2; +if konec then vs[1]:=-1; +dalsiprvek:=vs; end; begin + read(delkapole); + i:=1; - l:=2; - temp2:=''; - read(delkapole,temp); - temp:=temp+' '; - while (i <= delkapole) and (l<=length(temp)) do - begin - while (temp[l]<>' ') do begin temp2:=temp2+temp[l];l:=l+1;end; - val(temp2,vstup[i],err); - l:=l+1; - temp2:=''; - i:=i+1; + while (i<=delkapole) do begin + read(a[i]); + inc(i); + end; + + a:=dalsiprvek(a,delkapole); + if(a[1]=-1) then begin + write('NEEXISTUJE'); + exit; + end; + + i:=1; + while (i<=delkapole) do begin + write(a[i],' '); + inc(i); end; - vystup:=dalsiprvek(vstup,delkapole); - write(vystup); end.