Формирование и обработка двумерных массивов на языке Pascal. 40 баллов
Зд. 3 Дана матрица К(5,5). Заполнить её случайными числами двузначными. Найти сумму элементов стоящих выше главной диагонали, произведение элементов стоящих ниже главной диагонали и среднее арифметическое элементов стоящих на главной диагонали.
Зд. 4 Дан массив А(7, 5). Найти: а) Сумму и произведение всех его элементов; б) Сумму элементов стоящих г) Суммы элементов стоящих в одной строке, для каждой строки отдельно.
Ответы на вопрос
Ответ:
решения задачи 3:
program matrix_operations;
uses crt;
var
K: array[1..5, 1..5] of integer; // объявление двумерного массива K размером 5x5
i, j: integer;
sum_above, prod_below, avg_diag, sum_all: integer;
begin
// заполнение матрицы случайными двузначными числами
randomize;
for i := 1 to 5 do
begin
for j := 1 to 5 do
begin
K[i, j] := random(90) + 10;
write(K[i, j]:4);
end;
writeln;
end;
// вычисление суммы элементов выше главной диагонали
sum_above := 0;
for i := 1 to 4 do
begin
for j := i + 1 to 5 do
begin
sum_above := sum_above + K[i, j];
end;
end;
writeln('Sum above diagonal: ', sum_above);
// вычисление произведения элементов ниже главной диагонали
prod_below := 1;
for i := 2 to 5 do
begin
for j := 1 to i - 1 do
begin
prod_below := prod_below * K[i, j];
end;
end;
writeln('Product below diagonal: ', prod_below);
// вычисление среднего арифметического элементов на главной диагонали
avg_diag := 0;
for i := 1 to 5 do
begin
avg_diag := avg_diag + K[i, i];
end;
avg_diag := avg_diag div 5;
writeln('Average on diagonal: ', avg_diag);
readln;
end.
решения задачи 4:
program array_operations;
uses crt;
var
A: array[1..7, 1..5] of integer; // объявление двумерного массива A размером 7x5
i, j, sum_all, prod_all: integer;
sum_row: array[1..7] of integer;
begin
// заполнение массива случайными числами
randomize;
for i := 1 to 7 do
begin
for j := 1 to 5 do
begin
A[i, j] := random(101) - 50;
write(A[i, j]:4);
sum_all := sum_all + A[i, j];
prod_all := prod_all * A[i, j];
end;
sum_row[i] := sum_all;
sum_all := 0;
prod_all := 1;
writeln;
end;
// вычисление суммы и произведения всех элементов
writeln('Sum of all elements: ', sum_all);
writeln('Product of all elements: ', prod_all);
// вычисление суммы элементов в каждой строке
for i := 1 to 7 do
begin
writeln('Sum of row ', i, ': ', sum_row[i]);
end