Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program kolka;
- uses crt;
- const n = 3;i = 3;
- var k : array [1..n,1..i] of byte;
- lista : array [1..1000,1..2] of byte;
- ds,zap : byte;
- kolejne : integer;
- procedure numeracja;
- var d,licznik : byte;
- begin
- licznik:=0;d:=ds;
- REPEAT
- licznik:=licznik+1;
- gotoxy(ds+d,n+3);write(licznik);
- d:=d+20;
- UNTIL licznik=i;
- end;
- procedure krecha;
- var y,x,d,licznik : byte;
- begin d:=ds;licznik:=0;
- REPEAT
- for y:=1 to n+1 do begin
- gotoxy(10+d,y);write('|');
- end;
- for x:=1 to y+1 do begin
- gotoxy(10-x+d,y);write('x');gotoxy(10+x+d,y);write('x');
- end;
- d:=d+20;
- licznik:=licznik+1;
- UNTIL licznik = i;
- end;
- procedure wieze;
- var x,y,d,licznik : byte;
- begin d:=ds;licznik:=1;
- REPEAT
- for y:=1 to n do begin
- for x:=1 to k[y,licznik] do begin
- gotoxy(10-x+d,y);write('O');
- gotoxy(10+x+d,y);write('O');
- end;
- end;
- d:=d+20;
- licznik:=licznik+1;
- UNTIL licznik = i+1;
- end;
- procedure algo;
- var a,b : byte;
- licznik : integer;
- begin licznik:=0;
- REPEAT
- licznik:=licznik+1;
- for a:=1 to n do begin
- if k[a,lista[licznik,1]] <> 0 then begin
- break;
- end;
- end;
- for b:=n downto 1 do begin
- if b=n then begin
- if k[b,lista[licznik,2]] = 0 then begin k[b,lista[licznik,2]]:=k[a,lista[licznik,1]];
- k[a,lista[licznik,1]]:=0;
- break;end;
- end;
- if (k[b,lista[licznik,2]]>k[a,lista[licznik,1]])AND(k[b-1,lista[licznik,2]]=0) then begin
- k[b-1,lista[licznik,2]]:=k[a,lista[licznik,1]];
- k[a,lista[licznik,1]]:=0;
- break;
- end;
- end;
- UNTIL licznik=kolejne;
- end;
- procedure generujKolka;
- var x : byte;
- begin
- for x:=1 to n do begin
- k[x,zap]:=x;
- end;
- end;
- procedure przesun(akt,A,B,C : byte);
- begin kolejne:=kolejne+1;
- if akt > 0 then begin
- przesun(akt-1, A, C, B);writeln(a,' na ',b);
- lista[kolejne,1]:=A;lista[kolejne,2]:=C;
- przesun(akt-1, B, A, C);
- end;
- end;
- begin clrscr;kolejne:=0;zap:=1;ds:=10;generujKolka;
- gotoxy(1,9);write('Przed zmiana');krecha;wieze;numeracja;readkey;clrscr;
- gotoxy(1,9);write('Po zmianie');
- przesun(n,1, 2, 3);algo;krecha;wieze;numeracja;
- readkey;end.
Advertisement
Add Comment
Please, Sign In to add comment