- Регистрация
- 24 Дек 2008
- Сообщения
- 419
- Реакции
- 10
- Баллы
- 0
Сегодня на курсах по информатике нам объясняли, как решать задачи типа С2 (из ЕГЭ). Вот одна из них:дан целый квадратный массив 10 на 10, описать алгоритм вычисления суммы максимальных элементов из каждой строки (в каждой строке только 1 такой элемент), напечатать значение суммы.
Program C2;
Var a:array [1..10,1..10]of integer;
i,j,m,S:integer;
BEGIN
For i:=1 to 10 do
begin
For j:=1 to 10 do a[i,j]:=random(1000);
end;
For i:=1 to 10 do
begin
For j:=1 to 10 do write(a[i,j],' ');
writeln;
end;
S:=0;
For i:=1 to 10 do
begin
m:=a[i,1];
For i:=1 to 10 do
If a[i,j]>m then m:=a[i,j];
S:=S+m;
end;
writeln('S=',S);
END.
Программа нормально работает, но преподаватель сказал, что это и это действия можно объединить в одно. Как это сделать?
Program C2;
Var a:array [1..10,1..10]of integer;
i,j,m,S:integer;
BEGIN
For i:=1 to 10 do
begin
For j:=1 to 10 do a[i,j]:=random(1000);
end;
For i:=1 to 10 do
begin
For j:=1 to 10 do write(a[i,j],' ');
writeln;
end;
S:=0;
For i:=1 to 10 do
begin
m:=a[i,1];
For i:=1 to 10 do
If a[i,j]>m then m:=a[i,j];
S:=S+m;
end;
writeln('S=',S);
END.
Программа нормально работает, но преподаватель сказал, что это и это действия можно объединить в одно. Как это сделать?