Помогите, пожалуйста, составить программу в ПАскаль абс и блок-схему: В заданной целочисленной квадратной матрице заменить нулями минимальные элементы каждой строки
Var ma:array[1..n,1..m] of integer; i,j,min:integer; begin for i:=1 to n do begin min:=integer.MaxValue; for j:=1 to m do begin readln(ma[i,j]); if ma[i,j]<min then min:=ma[i,j]; end; for j:=1 to m do if ma[i,j]=min then ma[i,j]:=0; end; writeln('Final matrix:'); for i:=1 to n do begin for j:=1 to m do write(ma[i,j]:4); writeln; end; end.
Russia000
точнее что означает этот фрагмент : write(ma[i,j]:4); ?
Gleb1Kosyrev
ma - обозначение матрицы. Да, одним из показателей хорошего стиля являются осмысленные названия переменных, но, увы, я не могу пока себя приучить.
Gleb1Kosyrev
write(ma[i,j]:4); - вывод элемента двумерного массива ma c индексами i и j c отступом в 4 пробела.
Russia000
а отступ в 4 пробела обязателен, или если я уберу это :4, программа не заработает?
Gleb1Kosyrev
Нет, не обязателен, просто числа слипнутся при выводе.
Russia000
все понял, огромное спасибо за решение и объяснение
Answers & Comments
Verified answer
//PascalABC.NET 3.2 сборка 1318Const
n=3;
m=2;
Var
ma:array[1..n,1..m] of integer;
i,j,min:integer;
begin
for i:=1 to n do
begin
min:=integer.MaxValue;
for j:=1 to m do
begin
readln(ma[i,j]);
if ma[i,j]<min then min:=ma[i,j];
end;
for j:=1 to m do
if ma[i,j]=min then ma[i,j]:=0;
end;
writeln('Final matrix:');
for i:=1 to n do
begin
for j:=1 to m do
write(ma[i,j]:4);
writeln;
end;
end.