Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- with Ada.Text_IO, Ada.Integer_Text_IO;
- use Ada.Text_IO, Ada.Integer_Text_IO;
- procedure permutation is
- tmp : Character;
- str : String := "123";
- start : Integer := 1;
- procedure perms (s : in out String; i : in Integer; n : in Integer);
- procedure change (s : in out String; i : in Integer; j : in out Integer);
- procedure perms (s : in out String; i : in Integer; n : in Integer) is
- j : Integer := i;
- begin
- if i = n then
- put(s);
- New_Line;
- else
- for Index in j..n loop
- change(s,i,j);
- perms(s,i+1,n);
- change(s,i,j);
- end loop;
- end if;
- end perms;
- procedure change (s : in out String; i : in Integer; j : in out Integer) is
- begin
- tmp := s(i);
- s(i) := s(j);
- s(j) := tmp;
- end change;
- begin
- perms(str,start,str'length);
- end permutation;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement