В одномерном массиве найти кол-во разных элементов — Pascal(Паскаль)

uses crt;
const n=10;
var m,el,c:array[1..n]of integer;
i,j,k:integer;
f:boolean;
 
begin
 clrscr;
 write('-> ');
 for i:=1 to n do read(m[i]);
 readln;
 k:=0;
 for i:=1 to n do
 begin
  f:=false;
  for j:=1 to k do if m[i]=el[j] then
  begin
   f:=true;
   inc(c[j]);
  end;
  if not f then
  begin
    inc(k);
    el[k]:=m[i];
    c[k]:=1;
  end;
 end;
 writeln('Элементы');
 for i:=1 to k do writeln(el[i],' встречается ',c[i],' раз');
 readln;
end.

Следующий вариант

program tmp;
uses crt;
const count=100;
var mas:array[1..count] of integer;
D:set of byte;
n,i,k:integer;
begin
clrscr;
randomize;
readln(n);
for i:=1 to n do begin
                 mas[i]:=random(50);
                 write(mas[i],' ');
                 end;
                 writeln;
D:=[];
k:=0;
for i:=1 to n do begin
                 if not (mas[i] in D) then inc(k);
                 D:=D+[mas[i]];
                 end;
write(k);
readkey;
end.

Leave a Comment

3 + 7 =