Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program permutacije;
- type
- niz = array[1..30] of integer;
- var
- n,i,p,k,t,j,broj:integer;
- poslednja:boolean;
- x: niz;
- procedure UnosNiza (var n:integer;var x:niz);
- var i:integer;
- begin
- write('Broj clanova niza: ');
- readln(n);
- for i:=1 to n do
- begin
- write ('x[',i,']=');
- readln(x[i]);
- end;
- end;
- procedure StampaNiza (n:integer; x:niz);
- var i:integer;
- begin
- write('Elementi niza: ');
- for i:=1 to n-1 do write (x[i],',');
- writeln(x[n]);
- end;
- begin
- write('red permutacija ');
- readln(n);
- for i:=1 to n do x[i]:=i;
- stampaniza(n,x);
- poslednja:=false;
- while not poslednja do
- begin
- i:=n-1;
- while (x[i]>x[i+1]) and (i>=1)
- do i:=i-1;
- if i=0 then poslednja:=true
- else
- begin
- j:=n;
- while x[j]<x[i]do j:=j-1;
- t:=x[i];
- x[i]:=x[j];
- x[j]:=t;
- i:=i+1;
- j:=n;
- while i<j do
- begin
- t:=x[i];
- x[i]:=x[j];
- x[j]:=t;
- i:=i+1;
- j:=j-1;
- end;
- stampaniza(n,x);
- end;
- end;
- readln;
- end.
Add Comment
Please, Sign In to add comment