Вопрос задан 29.07.2023 в 05:51. Предмет Информатика. Спрашивает Глебачева Мария.

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
0 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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи нахождения максимальной суммы чисел в одной строке и соответствующего номера строки в двумерном массиве, необходимо пройтись по каждой строке массива, вычислить сумму элементов строки и сравнить ее с текущим максимумом. Если найденная сумма больше текущего максимума, то обновить максимум и запомнить номер строки.

Вот пример кода на языке Pascal для решения этой задачи:

pascal
program MaxSumInRow; const MAX_N = 100; MAX_M = 100; var A: array [0..MAX_N - 1, 0..MAX_M - 1] of Integer; n, m: Integer; i, j, maxSum, maxSumRow: Integer; begin { Ввод размеров массива } Readln(n, m); { Ввод элементов массива } for i := 0 to n - 1 do for j := 0 to m - 1 do Read(A[i, j]); { Инициализация начальных значений максимальной суммы и номера строки } maxSum := 0; maxSumRow := 0; { Поиск максимальной суммы и номера строки } for i := 0 to n - 1 do begin { Вычисление суммы элементов строки } var sum := 0; for j := 0 to m - 1 do sum := sum + A[i, j]; { Обновление максимальной суммы и номера строки } if sum > maxSum then begin maxSum := sum; maxSumRow := i; end; end; { Вывод результата } Writeln(maxSum, ' ', maxSumRow); end.

Пожалуйста, убедитесь, что входные данные соответствуют ожидаемому формату, а также что n и m не превышают значения MAX_N и MAX_M соответственно. В данном примере эти значения установлены на 100, но в реальной задаче можно выбрать другие подходящие значения, если необходимо обрабатывать большие массивы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос