Дан двумерный массив 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<stosum[j] then sum:=stosum[j]; nomer:=j; 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<n then begin a[i,nomer+1]:=1; writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Следующий заменён на 1.'); end else writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Это последний элемент в строке.'); end; end.
Обе програмки проверены на АВС Паскале. Работают :)
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<stosum[j] then sum:=stosum[j];
nomer:=j;
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<n then
begin
a[i,nomer+1]:=1;
writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Следующий заменён на 1.');
end
else
writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Это последний элемент в строке.');
end;
end.