Программа, для обработки двухмерных матриц, Язык - Паскаль

Рейтинг: 0Ответов: 1Опубликовано: 20.07.2023

Напишите программу, реализующую обработку двухмерных массивов. Дана матрица размера M x N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца. Моя попытка -

const
    M = 5;
    N = 4;
 
var
    a: array[1..M, 1..N] of byte;
    i, j: byte;
    sum: integer;
 
begin
    randomize;
 
    sum := 0;

    for i := 1 to N do begin
        for j := 1 to M do begin
            a[i,j] := random(10);
            write(a[i,j]:3);

            sum := sum + a[i,j]

        end;
        writeln
    end;
 
    writeln ('------------');
 
    writeln('sum = ', sum);
 
end.

Ответы

▲ 1

Ну давайте разбираться.

Столбцов N, значит, в циклах индексация неверная, должна быть a[j, i]

Сумму чего вы считаете? Для среднего арифметического по столбцу нужна сумма только этого столбца. Значит, нужно sum обнулять внутри первого цикла, а в конце его считать среднее, и делать ещё один внутренний цикл, чтобы найти количество бОльших элементов