Среди десяти массивов найти тот, у которого сумма элементов максимальна

Задача: 

Получить десять массивов случайных чисел. Найти среди них тот, сумма элементов которого наибольшая.

Описание переменных: 
  • arrs - массив, состоящий из десяти одномерных массивов;
  • sum_max - переменная для хранения максимальной суммы;
  • sum_new - сумма элементов текущего массива;
  • id - номер одномерного массива с максимальной суммой элементов в массиве arrs.
Алгоритм решения задачи: 

Так как требуется заполнить множество массивов, то уместно будет написать функцию, заполняющую один одномерный массив. Потом в цикле ее вызвать десять раз и соответственно получить десять одномерных массивов. Также можно в этой же функции вычислять сумму элементов массива и возвращать ее в качестве значения функции.

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

Программа на языке Паскаль: 

const N = 15;
type arr = array[1..N] of integer;
var 
    arrs: array[1..10] of arr;
    sum_max, sum_new: integer;
    i, id: byte;
 
function new_array(var a: arr): integer;
    var k: byte;
    begin
        new_array := 0;
        for k:=1 to N do begin
            a[k] := random(50);
            write(a[k]:4);
            new_array := new_array + a[k];
        end;
        writeln(' - ', new_array);
    end;
 
begin
    randomize;
    sum_max := 0;
    id := 1;
    for i:=1 to 10 do begin
        sum_new := new_array(arrs[i]);
        if sum_new > sum_max then begin
            sum_max := sum_new;
            id := i;
        end;            
    end;
    writeln;
    writeln(id, '-й массив с максимальной суммой элементов:');
    for i:=1 to N do 
        write(arrs[id,i]:4);
    writeln(' - ', sum_max);
end.

Пример выполнения программы:

  11   0  14  49  13  32  33  26   9   3  15   5  33  30  11 - 284
   1  20  27  10  49  48  42  49  40  36   1  43  39  43  19 - 467
   7  34  23  10   5  34  32   1  35  30  19  38  21  38   8 - 335
  34   5  29  29  45  28  38  42  48   0  16  30  10   0   0 - 354
  19  42  25  31  33  22  20  48  30  37  44  44   1  44  44 - 484
  22  16  46  21  18  27   9  43  32  43   2  26  47  31  24 - 407
  32  24  23  38  41  48   3  11   9  36   9  11  20   3   9 - 317
   6  40  17   2  12  24  36  19  49  37  29  15  43  10  40 - 379
  44  25  25  35   6  27   9  35  19  38   3  32  49  35  25 - 407
  42   2   7   8  16   2  40  13  31   3  38  37  25   1  42 - 307

5-й массив с максимальной суммой элементов:
  19  42  25  31  33  22  20  48  30  37  44  44   1  44  44 - 484

Комментарии

Найти среди массивов тот, у которого сумма цифр наибольшая.

А если длина массивов разная?