
Вопрос задан 30.07.2023 в 08:42.
Предмет Информатика.
Спрашивает Глебова Кристина.
Дана квадратная целочисленная матрица порядка n. Сформировать результирующий одномерный массив,
элементами которого являются построчные средние арифметические значения нечетных элементов исходной матрицы. Задача на Pascal.

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

Отвечает Исаева Юлия.
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
Внимание! Если программа не работает, обновите версию!
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



Отвечает Цховребов Роман.
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.
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.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи на Pascal, нужно сначала определить алгоритм для нахождения среднего арифметического нечетных элементов каждой строки исходной матрицы, а затем сформировать результирующий одномерный массив с этими значениями. Вот пример кода на Pascal:
pascalprogram CalculateRowAverages; const MAX_SIZE = 100; type Matrix = array[1..MAX_SIZE, 1..MAX_SIZE] of Integer; var A: Matrix; ResultArray: array[1..MAX_SIZE] of Real; n, i, j, count: Integer; procedure CalculateAverages(const A: Matrix; n: Integer; var ResultArray: array of Real); var i, j, count: Integer; begin for i := 1 to n do begin count := 0; ResultArray[i] := 0.0; for j := 1 to n do begin if A[i, j] mod 2 <> 0 then begin ResultArray[i] := ResultArray[i] + A[i, j]; Inc(count); end; end; if count > 0 then ResultArray[i] := ResultArray[i] / count; end; end; procedure ReadMatrix(var A: Matrix; n: Integer); var i, j: Integer; begin writeln('Введите элементы матрицы:'); for i := 1 to n do begin for j := 1 to n do readln(A[i, j]); end; end; procedure PrintResultArray(const ResultArray: array of Real; n: Integer); var i: Integer; begin writeln('Результат:'); for i := 1 to n do writeln(ResultArray[i]:0:2); end; begin writeln('Введите порядок матрицы n:'); readln(n); if (n <= 0) or (n > MAX_SIZE) then begin writeln('Некорректный порядок матрицы.'); Exit; end; ReadMatrix(A, n); CalculateAverages(A, n, ResultArray); PrintResultArray(ResultArray, n); end.
Программа позволит вам ввести порядок квадратной матрицы, а затем вводить ее элементы. После этого она вычислит среднее арифметическое нечетных элементов в каждой строке исходной матрицы и выведет результат в виде одномерного массива.
Обратите внимание, что в приведенном коде предполагается, что матрица не превышает размерность MAX_SIZE. Вы можете изменить значение константы MAX_SIZE в зависимости от ваших потребностей.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

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