Средние арифметические неотрицательных элементов строк матрицы

Задача

Вычислить средние арифметические значения неотрицательных элементов каждой строки матрицы [N;M].

Решение

 

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

  • a - матрица;
  • sum - сумма неотрицательных элементов текущей строки матрицы;
  • count - количество неотрицательных элементов текущей строки матрицы.

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

Перед просмотром (в данном случае в том же цикле, что и заполнение) строки матрицы присвоить переменным sum и count нули. В цикле если очередной элемент строки больше, либо равен 0, то добавлять значение этого элемента к sum и увеличивать на 1 значение count.

После завершения внутреннего цикла (обработки очередной строки матрицы) вывести на экран среднее арифметическое, вычисляемое как деление sum на count.

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

 

const N = 10; M = 15;
var 
    a: array[1..N,1..M] of integer;
    sum: word;
    count, i, j: byte;
begin
    randomize;
    for i:=1 to N do begin
        sum := 0;
        count := 0;
        for j:=1 to M do begin
            a[i,j] := random(100) - 50;
            write(a[i,j]:4);
            if a[i,j] >= 0 then begin
                sum := sum + a[i,j];
                count := count + 1;
            end;
        end;
        writeln(' - ', sum/count:4:2);
    end;
end.

 

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

  -6  22 -36   6 -32  18  25 -44 -20  29 -27 -38  38 -31  27 - 23.57
  23 -46  27  35  22 -41   4   5 -44  22  16 -28 -42 -28 -38 - 19.25
 -44 -38 -33 -44  25   0  17 -18  34 -50 -17  -9  13 -10  46 - 22.50
 -18 -22 -44  12 -19  44  -6  42  28  -7  49 -31  19 -21   6 - 28.57
  29  28 -42  21 -28 -31 -15 -49  -6  29 -23 -47  31 -18  13 - 25.17
  19   0  13  -2 -44   2   3 -45  35   0  13  27  15 -31  29 - 14.18
   7  43 -21 -29  23 -12 -15 -43 -14 -49  22   1  41 -50  33 - 24.29
  12  28  19 -13 -15  41 -47 -12  21  28   4   0  12  45 -29 - 21.00
  11  41  12 -40  35 -27   5  29  27   9 -12   7  20  -1   8 - 18.55
  31 -17  14 -19 -28 -15 -47 -37 -31  22 -34  40 -47 -18  24 - 26.20

 

Тема

Матрицы

Уровень

Комбинированные задачи

Теги

Добавить комментарий