Определить количество различных элементов массива

Дано: var C: array [1..12,1..18] of char; k:integer.Определить k-количество различных элементов массива C (т.е. повторяющиеся элементы считать один раз).

code: #pascal
program massiv;
uses crt;
const m=12; n=18;
var
b:array[1..m,1..n] of boolean;
c:array[1..m,1..n] of integer;
i,j,t,p,k:integer;
begin
 clrscr;
 randomize;
 for i:=1 to m do begin
  for j:=1 to n do begin
   c[i,j]:=random(50)+10;
   write(c[i,j],' ');
   b[i,j]:=true;
  end;
  writeln;
 end;
 for i:=1 to m do
 for j:=1 to n do
 for t:=1 to m do
 for p:=1 to n do
 if (i<>t) or (j<>p) then begin
  if b[i,j]=true then if c[i,j]=c[t,p] then b[t,p]:=false;
 end;
 writeln;
 for i:=1 to m do
 for j:=1 to n do if b[i,j]=true then begin k:=k+1; write(c[i,j],' '); end;
 writeln;
 writeln('KOLICHESTVO->',k);
 readkey;
end.
Поделиться:

Похожие статьи: