Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program projekt;
- Uses crt;
- const ilew = 10;
- ilek = 10;
- Type
- TTablica=array[1..ilew,1..ilek] of integer;
- Var
- tab2d:TTablica;
- m,n,decyzja:integer;
- znak:char;
- {--------------------------------------------}
- procedure tab1(m,n:integer);
- var i,j,k:integer;
- Begin
- k:=1;
- For i:=1 to m do
- For j:=1 to n do
- Begin
- tab2d[i,j]:=k;
- inc(k);
- End;
- End;
- {--------------------------------------------}
- procedure tab2(m,n:integer);
- var i,j,k:integer;
- Begin
- k:=1;
- For i:=1 to m do
- If i mod 2 = 0 Then
- Begin
- For j:=n downto 1 do
- Begin
- tab2d[i,j]:=k;
- inc(k);
- End;
- End
- else
- Begin
- For j:=1 to n do
- Begin
- tab2d[i,j]:=k;
- inc(k);
- End;
- End;
- End;
- {---------------------------------------------}
- procedure tab3(m,n:integer);
- var
- i,j,x,k: integer;
- Begin
- {pierwsza czesc tabelki}
- k:=1;
- for i := 1 to m do
- begin
- x := i;
- for j := 1 to m do
- begin
- if x = 0 then
- break;
- tab2d[x, j] := k;
- write(tab2d[x,j]:3);
- Dec(x);
- Inc(k);
- end;
- end;
- {for i := 2 to n do
- begin
- x := m;
- for j := i to n do
- begin
- if x = 0 then
- break;
- tab2d[x,j]:=k;
- Dec(x);
- Inc(k);
- end;
- end;}
- End;
- {---------------------------------------------}
- procedure tab4(m,n:integer);
- var
- szerokosc, wysokosc: integer;
- poczatek_l, poczatek_g, poczatek_p, poczatek_dol: integer;
- i, k: integer;
- Begin
- k:=1;
- poczatek_g:=1; {wiersz od góry}
- poczatek_l:=1; {pierwsza kolumna od lewej}
- poczatek_p:=n; {kolumna z prawej }
- poczatek_dol:=m; {kolumna z dołu }
- szerokosc:=n - 1;
- wysokosc:=m; {ilosc wierszy}
- while k <= m*n do
- begin
- {1}
- for i := poczatek_l to szerokosc do
- if k <= m*n then
- begin
- tab2d[poczatek_g,i]:=k;
- Inc(k);
- end
- else
- break;
- {2}
- for i := poczatek_g to wysokosc do
- if k <= m*n then
- begin
- tab2d[i,poczatek_p]:=k;
- Inc(k);
- end
- else
- break;
- {3}
- for i := szerokosc downto poczatek_l do
- if k <= m*n then
- begin
- tab2d[poczatek_dol,i]:=k;
- Inc(k);
- end
- else
- break;
- {4}
- for i:=poczatek_dol - 1 downto poczatek_g + 1 do
- if k <= m*n then
- begin
- tab2d[i,poczatek_l]:=k;
- Inc(k);
- end
- else
- break;
- Inc(poczatek_l);
- Dec(szerokosc);
- Inc(poczatek_g);
- Dec(wysokosc);
- Dec(poczatek_p);
- Dec(poczatek_dol);
- end;
- End;
- {----------------------------------------------}
- procedure pokaz12(m,n:integer);
- var
- i, j: integer;
- begin
- window(5,5,70,70);
- textcolor(white);
- textbackground(blue);
- clrscr;
- For i:=1 to m do
- For j:=1 to n do
- Begin
- write(tab2d[i,j]:3);
- If j = n Then
- writeln;
- End;
- End;
- {----------------------------------------------}
- procedure okno;
- Begin
- Textbackground(blue);
- Window(5,5,75,75);
- clrscr;
- TextColor(white);
- ENd;
- Begin
- repeat
- clrscr;
- okno;
- writeln('Wybierz jedna pozycje z poszczegolnych numerow przypisanych do danej tabelki:');
- writeln('1 - Wierszami w prawo');
- writeln('2 - Poziomo wezykiem');
- writeln('3 - Skosnie w prawo i w gore');
- writeln('4 - Po spirali w prawo');
- readln(decyzja);
- repeat
- clrscr;
- writeln('Podaj liczbe wierszy');
- readln(m);
- until m<=10;
- repeat
- clrscr;
- writeln('Podaj liczbe kolumn');
- readln(n);
- until n<=10;
- Case decyzja of
- 1 : Begin
- tab1(m,n);
- pokaz12(m,n);
- End;
- 2 : Begin
- tab2(m,n);
- {pokaz12(m,n);}
- End;
- 3 : Begin
- tab3(m,n);
- pokaz12(m,n);
- End;
- 4 : Begin
- tab4(m,n);
- {pokaz12(m,n);}
- End;
- End;
- Writeln('Jesli chcesz zakonczyc program nacisnij (t/T)');
- readln(znak);
- until (znak='T') or (znak='t');
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement