All pastes #778797 Raw Edit

patch

public text v1 · immutable
·published 2007-11-17 22:39 UTC
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.