ABCPascal!!
Задан произвольный двумерный массив, преобразовать его: все элементы нечетных строк заменить единицами и затем найти сумму элементов полученного массива. Вывести на печать исходный и полученный массивы.
Ответы
const
N = 4; // размерность массива
var
A: array[1..N, 1..N] of integer; // исходный массив
B: array[1..N, 1..N] of integer; // полученный массив
i, j: integer; // переменные цикла
sum: integer; // сумма элементов полученного массива
begin
// инициализация исходного массива
for i := 1 to N do
for j := 1 to N do
A[i, j] := i * j;
// преобразование исходного массива
for i := 1 to N do
for j := 1 to N do
if i mod 2 = 1 then
B[i, j] := 1
else
B[i, j] := A[i, j];
// вывод исходного массива
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;
// вычисление суммы элементов полученного массива
sum := 0;
for i := 1 to N do
for j := 1 to N do
sum := sum + B[i, j];
// вывод суммы элементов полученного массива
writeln('Сумма элементов полученного массива: ', sum)
end.
Вывод на экран:
Исходный массив:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
Полученный массив:
1 1 1 1
2 4 6 8
1 1 1 1
4 8 12 16
Сумма элементов полученного массива: 68
program ModifyArray;
var
arr: array[1..4, 1..3] of Integer; { Исходный массив }
modified_arr: array[1..4, 1..3] of Integer; { Преобразованный массив }
i, j: Integer;
sum: Integer;
begin
{ Инициализируем исходный массив }
arr[1][1] := 1; arr[1][2] := 2; arr[1][3] := 3;
arr[2][1] := 4; arr[2][2] := 5; arr[2][3] := 6;
arr[3][1] := 7; arr[3][2] := 8; arr[3][3] := 9;
arr[4][1] := 10; arr[4][2] := 11; arr[4][3] := 12;
{ Копируем исходный массив в преобразованный }
modified_arr := arr;
{ Преобразуем массив: все элементы нечетных строк заменим единицами }
for i := 1 to 4 do
if i mod 2 <> 0 then
for j := 1 to 3 do
modified_arr[i][j] := 1;
{ Найдем сумму элементов преобразованного массива }
sum := 0;
for i := 1 to 4 do
for j := 1 to 3 do
sum := sum + modified_arr[i][j];
{ Выведем исходный и преобразованный массивы на печать }
writeln('Original array:');
for i := 1 to 4 do
begin
for j := 1 to 3 do
write(arr[i][j], ' ');
writeln;
end;
writeln;
writeln('Modified array:');
for i := 1 to 4 do
begin
for j := 1 to 3 do
write(modified_arr[i][j], ' ');
writeln;
end;
writeln;
writeln('Sum of elements in modified array: ', sum);
end.