Дан двумерный массив a размером n*n. Написать программу определения номера столбца с максимальной суммой элементов.
Дан двумерный массив а размером n*n. В каждой строке изменить значения элементов, стоящих за минимальным элементом этой строки, на 1
Обе програмки проверены на АВС Паскале. Работают :)
Program User6165_1;
const n=10;
var
a:array[1..n,1..n] of integer;
stosum:array[1..n] of integer;//массив для хранения сумм столбцов
i,j,nomer,sum : integer;
begin
Randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:= Random(100); //заполняем массив
writeln(*** alphaues is thinking... ***);
for j:=1 to n do
begin
sum:=0;
for i:=1 to n do
sum:=sum+a[i,j]; // находим сумму столбца
stosum[j]:=sum;
end;
nomer:=1;
sum:=stosum[1];
for j:=1 to n do
begin
if sum
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);//выводим массив
writeln;
end;
writeln(*** столбец с максимальной суммой - ,nomer,-й);
end.
Program User6165_2;
const n=10;
var
a:array[1..n,1..n] of integer;
stosum:array[1..n] of integer;//массив для хранения сумм столбцов
i,j,nomer,min : integer;
begin
Randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:= Random(100); //заполняем массив
writeln(*** alphaues is thinking... ***);
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);//выводим массив
writeln;
end;
for i:=1 to n do
begin
min:=a[i,1];
nomer:=1;
for j:=1 to n do
if min>a[i,j] then
begin
min:=a[i,j];
nomer:=j;
end;
if nomer
a[i,nomer+1]:=1;
writeln(i,-я строка: мин. элемент - ,nomer,-й. Следующий заменён на 1.);
end
else
writeln(i,-я строка: мин. элемент - ,nomer,-й. Это последний элемент в строке.);
end;
end.
