Дана квадратная целочисленная матрица порядка n. Сформировать результирующий одномерный...

0 интересует 0 не интересует
121 просмотров

Дана квадратная целочисленная матрица порядка n. Сформировать результирующий одномерный массив, элементами которого являются построчные средние арифметические значения нечетных элементов исходной матрицы. Задача на Pascal.


спросил от (20 баллов) в категории Информатика
2 Ответы
0 интересует 0 не интересует
ответил от БОГ (150k баллов)
 
Лучший ответ
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(n*4*'-');
  var b:=a.Rows.Select(row->row.Where(t->t.IsOdd).DefaultIfEmpty.Average)
    .ToArray;
  b.Println;
end.

Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица ***
  40 -38  16 -70  26
  87   7 -31  99  34
 -34 -47 -33  32  56
  66  71  41   7  80
  55  42 -22   7  86
--------------------
0 40.5 -40 39.6666666666667 31
0 интересует 0 не интересует
ответил от Начинающий (340 баллов)

Program sector;
const
n=10;
var
a:array [1..n,1..n] of integer;
b:array [1..n] of real;
i,j,z: byte;
begin
randomize;
for i:=1 to n do begin
    for j:=1 to n do begin
        a[i,j]:=random (40);
        a[i,j]:=a[i,j]-20;
        write(a[i,j]:4);
    end;
    writeln;
    end;
for i:=1 to n do begin
    z:=0;
    for j:=1 to i do
    if (a[i,j] mod 2 <> 0) then z:=z+a[i,j];
    b[i]:=z/2;
    writeln(i,' ',b[i]);
end;
readln;
end.

...