Из заданной матрицы А(6х7), элементы которой формируются по формуле А(I,J)=...

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

Из заданной матрицы А(6х7), элементы которой формируются по формуле А(I,J)= sin(i)+cos(3j), сформировать одномерный массив В, состоящий из элементов матрицы, которые стоят на пересечении нечетных строк и нечетных столбцов матрицы А. Во вновь сформированном массиве В определить среднее арифметическое положительных элементов массива. Исходную матрицу А и полученный массив В записать в текстовый файл. Помогите, пожалуйста, написать программный код на Паскале!


Информатика (15 баллов) | 53 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var A:=MatrGen(6,7,(i,j)->Sin(i+1)+Cos(3*(j+1)));
  A.Println(10,6); Writeln(70*'-');
  var B:=A.ElementsWithIndexes.Where(t->t[1].IsEven and t[2].IsEven)
      .Select(t->t[0]).ToArray;
  B.Println;
  var m:=B.Where(t->t>0).DefaultIfEmpty.Average;
  Writeln('Искомое среднее равно ',m);
  var f:=OpenWrite('MyFile.txt');
  for var i:=0 to A.RowCount-1 do begin
    for var j:=0 to A.ColCount-1 do
      Write(f,A[i,j],' ');
    Writeln(f);
    end;
  Writeln(f);
  for var i:=0 to B.Length-1 do Write(f,B[i],' ');
  f.Close;
end.

image
(150k баллов)