ABCPascal
Задан произвольный двумерный массив. Преобразовать массив: минимальный элемент(ы) заменить произведением значений элементов, находящихся на главной диагонали. Вывести на печать исходный и полученный массивы.
Ответы
program ReplaceMinElement;
const
N = 3; { размерность массива }
var
A: array[1..N, 1..N] of integer; { исходный массив }
B: array[1..N, 1..N] of integer; { результирующий массив }
min, mul: integer; { min - минимальный элемент, mul - произведение элементов главной диагонали }
i, j: integer; { счетчики циклов }
begin
{ инициализация массива A }
for i := 1 to N do
for j := 1 to N do
A[i, j] := i * 10 + j;
{ копирование массива A в B }
for i := 1 to N do
for j := 1 to N do
B[i, j] := A[i, j];
{ поиск минимального элемента в массиве B }
min := B[1, 1];
for i := 1 to N do
for j := 1 to N do
if B[i, j] < min then
min := B[i, j];
{ вычисление произведения элементов главной диагонали }
mul := 1;
for i := 1 to N do
mul := mul * A[i, i];
{ замена минимальных элементов в массиве B на произведение элементов главной диагонали }
for i := 1 to N do
for j := 1 to N do
if B[i, j] = min then
B[i, j] := mul;
writeln('Исходный массив:');
for i := 1 to N do
begin
for j := 1 to N do
write(A[i, j], ' ');
writeln;
end;
writeln('Полученный массив:');
for i := 1 to N do
begin
for j := 1 to N do
write(B[i, j], ' ');
writeln;
end;
end.