Tablica

program wyświetlający wszystko

program prog;
uses crt;
var tab:array[0..1,1..20]of integer;
i,j:integer;
begin
clrscr;

for i:=1 to 20 do (*wprowadzanie liczb do tablicy*)
readln(tab[0,i]);

for i:=1 to 20 do (* petla sprawdzajaca powtarzalnosc liczb*)
    begin
    for j:=1 to 20 do
        if tab[0,i]=tab[0,j] then
           tab[1,i]:=tab[1,i]+1;
end;

for i:=1 to 20 do  (* petla wyswietlajaca zawartosc tablicy i powtarzalnosc *)
writeln(tab[0,i],'jest:',tab[1,i]);

readln;
end.

bez duplikatów

program prog;
uses crt;
var tab:array[0..1,1..20]of integer;
    i,j,a,powt,uta:integer;
begin
clrscr;
writeln('podaj 20 liczb');
uta:=1;
for i:=1 to 20 do (*wprowadzanie 20 liczb*)
  begin
  powt:=0;
   readln(a); (*pobieranie liczby*)
    for j:=1 to uta do   (*petla sprawdzajĄca czy liczba juz byla *)
           if a=tab[0,j] then (*warunek sprawdzajacy czy liczba sie powtarza *)
              begin
               tab[1,j]:=tab[1,j]+1; (*liczba sie powtorzyla. +1*)
               powt:=powt+1;(*zlicza ilosc powt*)
              end;
   if powt=0 then (*jeeli jej nie bylo dodaje do tablicy*)
      begin

           tab[0,uta]:=a;(*wprowadzanie unik. liczby do tablicy*)
           tab[1,uta]:=1;(*ilosc 1*)
           uta:=uta+1;(*zwiekszanie licznika ilosci wprowadzonych unik liczb*)
           end;
    end;
for i:=1 to uta do     (*wyswietlanie*)
writeln('liczba',tab[0,i],'wystepuje:',tab[1,i]);
readln;
end.

z sortowaniem

program prog;
uses crt;
var tab:array[0..1,0..21]of integer;
    i,j,a,b,s:integer;
begin
clrscr;
for i:=1 to 20 do
    readln(tab[0,i]);

for i:=1 to 20 do
    begin
     for j:=1 to 20 do
        if tab[0,i]=tab[0,j] then
            tab[1,i]:=tab[1,i]+1;
    end;

repeat
      s:=0;
      FOR i:=20 DOWNTO 1 DO
          if tab[0,i]<tab[0,i-1] then
             begin
                  a:=tab[0,i];
                  b:=tab[1,i];
                  tab[0,i]:=tab[0,i-1];
                  tab[1,i]:=tab[1,i-1];
                  tab[0,i-1]:=a;
                  tab[1,i-1]:=b;
                  s:=1;
             end;
until s=0;

a:=tab[0,20];
writeln(tab[0,20],'jest:',tab[1,20]);

FOR i:=19 DOWNTO 1 DO
begin
if tab[0,i]<a then
begin
    writeln(tab[0,i],'jest:',tab[1,i]);
    a:=tab[0,i];
end;
end;

repeat
readln(a);
until a=0;

end.

na tablicy jednowymiarowej

program prog;
uses crt;
var l,a,i,j,k:byte;
tab:array[1..20] of byte;
begin

(*uzupełnianie tablicy*)
writeln('podaj 20 liczb');
for i:=1 to 20 do
readln(tab[i]);

repeat (*sortowanie bombelkowe tablicy*)
      l:=0;
      FOR i:=20 DOWNTO 1 DO
          if tab[i]<tab[i-1] then
             begin
                  a:=tab[i];
                  tab[i]:=tab[i-1];
                  tab[i-1]:=a;
                  l:=1;
             end;
until l=0;

i:=20;
repeat(*wyswietlanie liczb i ilosci powtorzen*)
 k:=0;
   if tab[i]>tab[i-1] then
    begin
          for j:=20 downto 1 do
              if tab[i]=tab[j] then 
                k:=k+1; (*zliczanie ilosci powtorzen liczby i*)
       writeln(tab[i],'jest:',k); (* podsumowanie po sprawdzeniu calej tablicy*)
    end;
 i:=i-1; (*zmniejszanie licznika tab*)
until(i=0);

readln;
end.
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-Share Alike 2.5 License.