Другие языки программирования и технологии

Помогите решить задачу паскаль (за вознаграждение)

Дана целочисленная матрица {Aij}i=1..n,j=1..m (n,m<=100). Найти строку с наибольшей суммой элементов и увеличить все элементы этой строки на 1. (В конце программы оставте номер своего телефона и укажите оператора- пришлю вознаграждение)
uses crt;
var i,j,s,m,n,maxstr,s1,ad:integer;
a:array[1..100,1..100]of integer;
begin
randomize;
readln(n,m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(2);//åñëè õî÷åøü ìîæåøü ðó÷êàìè ââåñòè
for i:=1 to n do
begin
writeln;
for j:=1 to m do
write(a[i,j]:4)
end ;
for i:=1 to n do
begin
s:=0;
for j:=1 to m do
begin
s:=s+a[i,j];
ad:=s;
if s>s1 then
begin
s:=s1;
maxstr:=i;
s1:=ad;
end;
end;
end;
for j:=1 to m do
a[maxstr,j]:=a[maxstr,j]+1;
writeln;
for i:=1 to n do
begin
writeln;
for j:=1 to m do
write(a[i,j]:4)
end
end.
может на совсем рационально но работает
СГ
Сергей Григоренко
603
Лучший ответ
Доброго времени суток.

Сначала пишем функцию возвращающую сумму элементов строки.

function SumItems(R: Integer, Dim: Integer) Integer;
var
j, S : Integer;
begin
S := 0;
for j:=1 to Dim do S := S + A[R,j];
SumItems := S;
end;

А затем в программе

Maxnd : =1;
MaxSum := SumItems(1, m);
for j:= 2 to n do begin
N := SumItems(j, m);
if N > MaxSum then begin
MaxSum := N;
MaxInd := j;
end;
end;

Все, MaxInd содржит номер строки с максимальной суммой, а MaxSum эту сумму.

А, еще увеличить надо. Тогда так.

for j:=1 to m do A[MaxInd, j] := A[MaxInd, j] + 1;

Вот теперь все.

Удачи!
Артeм Aфaнacьeв
Артeм Aфaнacьeв
59 612