program tabela;

uses crt;

var A: array [1..1000] of integer;

n: integer;

procedure wczytaj;

var i: integer;

BEGIN

for i:=1 to n do {Wczytywanie tablicy}

Begin

Write ('Podaj ',i,' element tablicy: ');

Readln (A[i]);

End;

END;

procedure wypisz;

var i:integer;

BEGIN

Writeln('Tablica ma postać:'); {Wypisanie tablicy}

for i:=1 to n do

Write (' ',A[i],' ');

END;

procedure sortowanie;

var i,j :integer;

schowek: integer; {Sortowanie tablicy na życzenie}

BEGIN

for i:=1 to n-1 do

for j:=1 to n-1 do

if A[j]>A[j+1] then

begin

schowek:= A[j+1];

A[j+1]:=A[j];

A[j]:=schowek;

end;

Writeln;

wypisz;

END;

procedure ilerazy;

var x: integer; {Sprawdzanie ile razy dana liczba}

i: integer; {pojawia się w tabeli}

ile: integer;

BEGIN

Writeln;

Write ('Podaj liczbę, którą chcesz wyszukać w tablicy: ');

Readln(x);

ile:=0;

for i:=1 to n do

if A[i]=x then ile:=ile+1;

Writeln ('Wyszukiwanie zakończone! ');

Writeln ('Szukana liczba pojawia się w tabeli ',ile,' razy');

END;

procedure porzadek;

var ros: string;

i: integer;

odp: char;

BEGIN

ros:='rosnie';

i:=0;

repeat {Sprawdzenie czy elementy}

i:=i+1; {są w porządku rosnącym}

if A[i]

else ros:='nie rosnie'

until (ros='nie rosnie') or (i=n-1);

if ros='rosnie' then

Writeln ('Elementy są ułożone w porządku rosnącym')

else

begin

Writeln ('Elementy nie są ułożone w porządku rosnącym');

Write ('Czy chcesz posortować tabelę? t/n '); Readln (odp);

If odp='t' then sortowanie else Writeln('Nie to nie, bez łaski!');

end;

END;

BEGIN

Clrscr;

Write ('Podaj ilość elementów tablicy (mniej niż 1000): ');

Readln (n);

if n<0 then

writeln ('Jak szufladka moze mieć ',n, ' przegródek, głuptasie?')

else

begin

Writeln;

wczytaj;

Writeln;

wypisz;

Writeln;

Writeln;

porzadek;

Writeln;

ilerazy;

end;

Readln;

END.