
Вопрос задан 29.07.2023 в 07:57.
Предмет Информатика.
Спрашивает Доценко Андрей.
(Для студентов)PascalABC.Net Дана действительная матрица размером n*m. Найти среднее
арифметическое каждого из столбцов, имеющих четные номера. Подсчет среднего арифметического оформить функцией.Напишите код программы.

Ответы на вопрос

Отвечает Чепурко Инна.
PascalABC.NET 3.4.0, сборка 1675 от 12.06.2018
Внимание! Если программа не работает, обновите версию!
function mean(Self:sequence of real):real; extensionmethod;
begin
Result:=Self.Average
end;
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
var a:=MatrGen(n,m,(i,j)->(Random(9000)+1000)/100);
Writeln('*** Исходная матрица [',n,',',m,'] ***');
a.Println(6,2); Writeln(6*a.ColCount*'-');
Writeln('Средние значения по четным столбцам');
SeqGen(m div 2,t->2*t-1,1).Select(j->a.Col(j).mean).Println
end.
Внимание! Если программа не работает, обновите версию!
function mean(Self:sequence of real):real; extensionmethod;
begin
Result:=Self.Average
end;
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
var a:=MatrGen(n,m,(i,j)->(Random(9000)+1000)/100);
Writeln('*** Исходная матрица [',n,',',m,'] ***');
a.Println(6,2); Writeln(6*a.ColCount*'-');
Writeln('Средние значения по четным столбцам');
SeqGen(m div 2,t->2*t-1,1).Select(j->a.Col(j).mean).Println
end.




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи в PascalABC.Net, нужно написать функцию для вычисления среднего арифметического элементов столбца, а затем использовать эту функцию для каждого из столбцов с четными номерами. Ниже представлен полный код программы:
pascalprogram FindColumnAverages; const n = 3; // Количество строк m = 4; // Количество столбцов type Matrix = array[1..n, 1..m] of real; // Функция для вычисления среднего арифметического элементов столбца function CalculateColumnAverage(mat: Matrix; columnNumber: integer): real; var i: integer; sum: real; begin sum := 0; for i := 1 to n do sum := sum + mat[i, columnNumber]; CalculateColumnAverage := sum / n; end; // Основная часть программы var matrix: Matrix; i, j: integer; begin // Ввод матрицы writeln('Введите элементы матрицы ', n, 'x', m, ':'); for i := 1 to n do for j := 1 to m do readln(matrix[i, j]); // Вычисление и вывод среднего арифметического для столбцов с четными номерами writeln('Среднее арифметическое для столбцов с четными номерами:'); for j := 2 to m step 2 do writeln('Столбец ', j, ': ', CalculateColumnAverage(matrix, j):0:2); end.
Обратите внимание, что в этом коде предполагается, что размеры матрицы задаются константами n
(количество строк) и m
(количество столбцов). Можете изменить их на необходимые значения перед запуском программы.
Также обратите внимание, что столбцы нумеруются с 1 до m
, и столбцы с четными номерами имеют номера 2, 4, 6 и т.д. (если m
четное). Если m
нечетное, то последний столбец с нечетным номером будет игнорироваться.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili