Определить количество разных чисел в одномерном массиве — Pascal(Паскаль)

uses Crt;
var
   a:array[1..50] of integer;
   n,i,j,l,rz:integer;
begin
ClrScr;
write('n=');readln(n);
randomize;
writeln('Массив:');
for i:=1 to n do
 begin
   a[i]:=random(10);
   write(a[i],' ');
 end;
writeln;
i:=1;rz:=0;
while i<=n do//смотрим элементы сначала по одному
  begin
    for j:=n downto i+1 do//сравниваем их с теми что впереди
    if a[j]=a[i] then//если есть еще такой
       begin
         for l:=j to n-1 do//сдвигая к нему хвост массива, удаляем его
         a[l]:=a[l+1];
         dec(n);//уменьшаем размер массива на 1
       end;
    rz:=rz+1;//считаем разные
    inc(i);//следующий элемент
  end;
writeln('Разных чисел=',rz);
readln
end.

Leave a Comment

42 + = 52