PASCAL: Двухмерный массив. В метании молота состязается n спортсменов. Каждый из них...

0 голосов
268 просмотров

PASCAL: Двухмерный массив.

В метании молота состязается n спортсменов. Каждый из них сделал m бросков. Победителем считается тот спортсмен, у которого сумма результатов по всем броскам максимальна.
Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них - от 0 до m-1, то на вход программа получает массив A[n, m], состоящий из неотрицательных целых чисел. Программа должна определить максимальную сумму чисел в одной строке и вывести на экран эту сумму и номер строки, для которой достигается эта сумма.

Входные данные
Программа получает на вход два числа n и m, являющиеся числом строк и столбцов в массиве. Далее во входеом потоке идет n строк по m чисел, являющихся элементами массива.

Выходные данные
Программа должна вывести 2 числа: сумму и номер строки, для которой эта сумма достигается. Если таких срок несколько, то выводится номер наименьшей из них. Не забудьте, что нумерация строк (спортсменов) начинается с 0.

Примеры
входные данные выходные данные
2 2 9
5 4 1
3 5


Информатика (15 баллов) | 268 просмотров
0

Если это массив 2х2, и в строках (5 4) (3 5), то суммы 9 и 8, поэтому сумма 9 достигается в строке не 1, а 0. Где-то ошибка в примере.

Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2;
  var a:=ReadMatrInteger(n,m);
  var i:=a.Rows.Select(row->row.Sum).ToArray.IndexMax;
  Writeln(a.Row(i).Sum,' ',i)
end.

image
(150k баллов)
0

если базироваться на примерных вводных данных, то должно быть так:
2 2
5 4
3 5
а выходные должны быть
9 1

0

и можно немного попроще: через for, if...

0

Почему 9 1 - объясните?

0

Я считаю, что 9 0

0

2 2 - это не строка данных, это размеры 2х2 массива

0

Поэтому сумма 9 достигнута в строке номер 0.

0

Касаемо "попроще". Попроще - это минимальный объем программы и минимальное время на ее написание. А "через for, if... " - это не попроще, это полтора-два десятка содержательных строк кода вместо четырех. Оно мне зачем? Вы же не указали, в какой версии Паскаля Вам решение нужно, не дали ограничений. Кто это будет тут за 8 баллов тратить 10-15 минут на кодирование и отладку этой ерунды?

0

тоже верно, но все равно, спасибо.

0

Видите ли, давая ответы, я никогда не нарушаю здешних Правил, поэтому если ответ не устраивает, автору вопроса надо винить исключительно себя за неточную формулировку. Ибо каков вопрос - таков и ответ!