Pascal. Задача 8-3

В массиве записаны числа. Для каждого входящего в массив числа вывести сколько раз оно встречается в массиве. Если число встречается в массиве несколько раз, то вывести его только один раз. Также вывести количество различных чисел в массиве.

Можно использовать для присвоения начальных значений массива:

(2, 5, 4, 5, 1, 5, 4, 4, 2, 5)

Решение
var
  a : array[1..10] of integer = (2, 5, 4, 5, 1, 5, 4, 4, 2, 5);
  i, j, n, count : integer;
  flag : boolean;
begin
  count := 0;
  for i := 1 to 10 do begin
    n := 1;
    for j := i - 1 downto 1 do
      if a[i] = a[j] then Inc(n);
    if n = 1 then begin
      Inc(count);
      Write('Число ', a[i], ' встречается раз: ');
      for j := i + 1 to 10 do
        if a[i] = a[j] then Inc(n);
      Writeln(n);
    end;
  end;
  Writeln('Всего различных чисел: ', count);
end.