Задание:
Опишите на русском языке или одном из языков программирования алгоритм поиска номер первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).
Решение:
Выделяем целочисленные переменные i1 и Sum; в i1 будем хранить номер первого в паре выбранных соседних элементов, а в Sum – их сумму. В i1 записываем начальное значение 1, а в Sum – сумму первых двух элементов. В цикле рассматриваем все элементы массива со второго до N-1, если сумма текущего элемента и следующего за ним больше Sum, то запоминаем эту сумму в переменной Sum, а номер текущего элемента – в i1.
const N=30;
var A:array[1..N] of integer;
i, i1, Sum: integer;
for i:=1 to N do readln(A[i]);
i1 := 1;
Sum := A[1] + A[2];
for i:=2 to N-1 do
if A[i]+ A[i+1] > Sum then begin
i1 := i;
Sum := A[i] + A[i+1];
end;
writeln(i1);
end.