Количество элементов массива, превосходящих по модулю максимальный элемент

Задача: 

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

Описание переменных: 

a - массив;
max - максимальный элемент массива;
count - количество элементов, превосходящих по модулю максимальный.

Алгоритм решения задачи: 

Сначала необходимо найти максимальный элемент массива. После чего сравнивать с ним модули элементов массива, и если модуль больше, то увеличивать счетчик количества учитываемых элементов.

Следует отметить, что сравнивать достаточно только модули отрицательных элементов, т.к. среди положительных найденный максимум в любом случае самый большой. Однако для простоты кода проверяются все элементы.

Программа на языке Паскаль: 

const N = 20;
var
	a: array[1..N] of integer;
    max: integer;
	i, count: byte;
begin
	randomize;
    max := -16;
    for i:=1 to N do begin
        a[i] := random(30)-15;
        write(a[i],' ');
        if a[i] > max then max := a[i];
    end;
    writeln;
    count := 0;
    for i:=1 to N do
        if abs(a[i]) > max then
            count := count + 1;
    writeln(count);        
end.

Пример выполнения программы:

1 6 -14 6 12 11 4 -2 -15 -8 7 -8 -5 3 -7 -15 -6 -9 3 1 
3

Максимальный элемент здесь - это число 12. Больше него по модулю -14 и два числа -15.

Комментарии

Двумерные массивы

R (K,N) найти наибольший и наименьший элементы матрицы и поменять их местами K=<20, N =<10