Опишите ** русском языке или ** одном из языков программирования алгоритм определения...

0 голосов
45 просмотров

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


Информатика (58 баллов) | 45 просмотров
0

Ничего не понимаю! Сначала Вы пишете "Опишите на русском языке или на одном из языков программирования...", а дальше вдруг "Язык Паскаль"...

0

Так написано задание, но программу надо написать в PascalABC

0

Да, только если разрешается описать алгоритм на "одном из языков программирования", этим языком может быть и Паскаль. И тогда получается, что достаточно написать только программу, потому что алгоритм на Паскале - это и есть программа.

0

Мне посто надо составить написать программу, которая "определения количества положительных элементов квадратной матрицы, превышающихпо величине среднее арифметическое всех элементов главной диагонали"

0

Ну и писали бы так сразу)).

Дано ответов: 2
0 голосов
Правильный ответ

Const
  n1 = 20;

var
  a: array[1..n1, 1..n1] of integer;
  i, j, n, k, m: integer;
  s: real;

begin
  Write('Введите число строк (cтолбцов) массива: ');
  Readln(n);
  Randomize;
  Writeln('Исходный массив');
  m := 0;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      k := Random(101) - 50;
      a[i, j] := k;
      Write(k:4);
    end;
    Writeln;
    m := m + a[i, i]
  end;
  k := 0; s := m / n;
  for i := 1 to n do
    for j := 1 to n do
      if a[i, j] > s then k := k + 1;
  Writeln('Среднее значение элементов главной диагонали равно ', s);
  Writeln('Количество элементов, значения которых больше этой величины - ', k)
end.

Тестовое решение:
Введите число строк (cтолбцов) массива: 10
Исходный массив
  29  22  23  15 -23 -25  19   9  -8 -16
   1  15   2  35  27 -44 -10 -34  19  50
 -35 -31  15 -24  24 -11 -49 -46  40  20
  16  48  16 -49 -22  -2 -37 -38 -25   9
  36  44   6  23 -16 -27 -40  22  20  29
  30 -12  45  32  19  10 -44  -4  41  38
 -27  14  20  23  19   4  50   0   7 -21
  43 -23  42 -40 -36 -29  13  43  42   0
 -21 -20 -15 -40  41 -23 -47  34 -17  19
  -9  18 -29 -13 -15 -29 -27  34 -46  31
Среднее значение элементов главной диагонали равно 11.1
Количество элементов, значения которых больше этой величины - 45


(142k баллов)
0 голосов

//////////////////////////////////////////////////////

(664 баллов)
0

В цикле, где у Вас оператор aver:=aver+a[i, j]; работать с j вообще не нужно, достаточно писать aver:=aver+a[i, i];