Паскаль, массивы. Помогите!

Паскаль, массивы. Помогите!
1. Заполните массив случайными числами. Определить, есть ли в нем элементы с одинаковыми значениями, не обязательно стоящие рядом.

2. Введите массив с клавиатуры и найдите кол-во элементов, имеющих максимальное значение.

Вторая часть в обеих задачах, помогите, пожалуйста.

  • 1.

    var
    a: array [1..10] of integer;
    c, k: integer;
    e: boolean;
    begin
    randomize;
    writeln('array:');
    for c := 1 to 10 do begin
    a[c] := random(30);
    write(a[c], ' ');
    end;
    writeln;
    e := false;
    for k := 1 to 9 do
    for c := k + 1 to 10 do
    if a[k] = a[c] then e := true;
    writeln('result: ', e);
    end.

    2.

    var
    a: array [1..10] of integer;
    c, m, n: integer;
    begin
    writeln('array:');
    for c := 1 to 10 do readln(a[c]);
    m := a[1];
    n := 1;
    for c := 2 to 10 do
    if a[c] = m then
    inc(n)
    else if a[c] > m then begin
    m := a[c];
    n := 1;
    end;
    writeln('max: ', m, '; count of max: ', n);
    end.

  • Помогаю:
    1. Перебор массива двойным циклом, сравниваем каждое значение с последующими.
    2. Сначала находим максимальное, а потом считаем количество равных ему.