Положительные элементы массива умножить на первый элемент в соответсвующей строке - PascalABC.NET
Формулировка задачи:
Дан массив В(n*m) ).Элементы массива ввести с клавиатуры.Положительные элементы умножить на первый элемент соответсвующей строке.
Решение задачи: «Положительные элементы массива умножить на первый элемент в соответсвующей строке»
textual
Листинг программы
const
n=5;
m=3;
var
a:array [1..n,1..m] of integer;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=ReadInteger(); //вводим значения
end;
writeln('Исходная матрица');
for i:=1 to n do
begin
for j:=1 to m do
begin
write(a[i,j]:5); //вывод в виде матрицы
end;
writeln;
end;
for i:=1 to n do
for j:=1 to m do
begin
if (a[i,j]>0) then a[i,j]:=a[i,j]*a[i,1];
end;
writeln;
writeln('Результирующая матрица');
for i:=1 to n do
begin
for j:=1 to m do
begin
write(a[i,j]:5); //вывод в виде матрицы
end;
writeln;
end;
end.
Объяснение кода листинга программы
- Объявлены константы n=5 и m=3, а также переменная a: array [1..n,1..m] of integer (строка 3).
- В цикле for i:=1 to n do для i от 1 до n выполняется ввод значений в массив a с помощью функции ReadInteger() (строка 7).
- Выводится исходная матрица с помощью цикла for i:=1 to n do begin for j:=1 to m do begin write(a[i,j]:5); end; writeln; end; (строка 13).
- В цикле for i:=1 to n do for j:=1 to m do if (a[i,j]>0) then a[i,j]:=a[i,j]*a[i,1]; (строка 17).
- Выводится результирующая матрица с помощью цикла for i:=1 to n do begin for j:=1 to m do begin write(a[i,j]:5); end; writeln; end; (строка 25).