Предмет: Информатика,
автор: AAKopyltsova
Из заданной матрицы А(6х7), элементы которой формируются по формуле А(I,J)= sin(i)+cos(3j), сформировать одномерный массив В, состоящий из элементов матрицы, которые стоят на пересечении нечетных строк и нечетных столбцов матрицы А. Во вновь сформированном массиве В определить среднее арифметическое положительных элементов массива. Исходную матрицу А и полученный массив В записать в текстовый файл. Помогите, пожалуйста, написать программный код на Паскале!
Ответы
Автор ответа:
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.
Внимание! Если программа не работает, обновите версию!
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.
Приложения:
Похожие вопросы
Предмет: Алгебра,
автор: finogenovn
Предмет: Қазақ тiлi,
автор: iiiiirisbekyerasyl72
Предмет: Русский язык,
автор: hahabich17
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: bayantlegenova