Измените программу примера №3 из данного документа так, чтобы итоговый двумерный массив...

0 голосов
30 просмотров

Измените программу примера №3 из данного документа так, чтобы итоговый двумерный массив формировался последующему принципу C[i,j] = максимальному элементу из A[i,j] и B[i,j]. Pascal. Срочно
Вот сама программа:
Program pr3;
Var A : array [1..100, 1..100] of integer ; {резервирование памяти под массивы}
B : array [1..100, 1..100] of integer ;
C : array [1..100, 1..100] of integer ;
m, n, i,j: integer ; {переменные i,j вводятся как индексы массива}
Begin
randomize;
writeln ('Введите размерность матриц m и n (числа <100)'); <br> readln (m, n);
For i:=1 to m do
For j:=1 to n do
begin
A[i,j]:=random (20)-10; {ввод элемента матрицы}
B[i,j]:=random (20)-10; {ввод элемента матрицы}
end;
writeln ('Итоговая матрица A: ');
For i:=1 to m do
begin
For j:=1 to n do write (A[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
writeln ('Итоговая матрица B: ');
For i:=1 to m do
begin
For j:=1 to n do write (B[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
For i:=1 to m do {цикл по всем строкам матрицы}
For j:=1 to n do {цикл по всем столбцам матрицы}
if (A[i,j]* B[i,j]<0) then C[i,j]:=A[i,j] + B[i,j] {если элементы исходных массивов имеют разные знаки (то есть их произведение отрицательно), то присваиваем элементу итогового массива значение суммы элементов} <br> else if (A[i,j] >=0) and (B[i,j] >=0) then C[i,j]:=A[i,j] { если элементы исходных массивов имеют положительное или нулевое значение, то присваиваем элементу итогового массива значение элемента из массива A}
else C[i,j]:=i+j;
writeln ('Итоговая матрица C: ');
For i:=1 to m do
begin
For j:=1 to n do write (C[i,j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
end.


Информатика (220 баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program pr3;
Var A : array [1..100, 1..100] of integer ; {резервирование памяти под массивы}
B : array [1..100, 1..100] of integer ;
C : array [1..100, 1..100] of integer ;
m, n, i,j: integer ; {переменные i,j вводятся как индексы массива}
Begin
randomize;
writeln ('Введите размерность матриц m и n (числа <100)');<br>readln (m, n);
For i:=1 to m do
For j:=1 to n do
begin
A[i,j]:=random (20)-10; {ввод элемента матрицы}
B[i,j]:=random (20)-10; {ввод элемента матрицы}
end;
writeln ('Итоговая матрица A: ');
For i:=1 to m do
begin
For j:=1 to n do write (A[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
writeln ('Итоговая матрица B: ');
For i:=1 to m do
begin
For j:=1 to n do write (B[i,j], ' '); {вывод элементов производится в виде матрицы }
writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
writeln;
For i:=1 to m do {цикл по всем строкам матрицы}
For j:=1 to n do {цикл по всем столбцам матрицы}
if (A[i,j] < B[i,j]) then C[i,j] := B[i,j] else C[i,j] := A[i,j];
writeln ('Итоговая матрица C: ');
For i:=1 to m do
begin
For j:=1 to n do write (C[i,j], ' '); {вывод элементов производится в виде матрицы } writeln; {после перебора всех столбцов одной строки – переход новую строку}
end;
end.

(23.0k баллов)