rendered paste body--- 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.