Найти максимальную сумму двух соседних элементов в массиве - Pascal
Формулировка задачи:
помогите пожалуйста решить задачу:в одномерном массиве найти максимальную сумму двух соседних элементов
Решение задачи: «Найти максимальную сумму двух соседних элементов в массиве»
textual
Листинг программы
uses crt;
var a:array[1..100] of integer;
n,i,sum,max,i1,i2:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
Writeln('Massiv:');
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i],' ');
end;
writeln;
max:=a[1]+a[2];i1:=1;i2:=2;
for i:=2 to n do
begin
sum:=a[i]+a[i-1];
if sum>max then
begin
max:=sum;
i1:=i-1;
i2:=i;
end;
end;
writeln('Maximalnaya summa=',max,' elementy ',a[i1],'+',a[i2]);
readln
end.
Объяснение кода листинга программы
- Создаётся переменная
aтипаarray[1..100] of integer, которая представляет собой массив из 100 целых чисел. - Задаётся переменная
nтипаinteger, которая представляет собой количество элементов в массиве. - Задаются переменные
i,sumиmaxтипаinteger, которые будут использоваться для хранения текущего и предыдущего наибольших сумм, а также текущей максимальной суммы. - Задаются переменные
i1иi2типаinteger, которые будут использоваться для хранения индексов предыдущего и текущего наибольших сумм. - Выводится сообщение
n=, запрашивается значениеnи выводится сообщениеMassiv:. - В цикле
forсiот 1 доnвычисляется суммаsumэлементовa[i]иa[i-1]. - Если
sumбольше текущей максимальной суммыmax, то обновляется значениеmaxи индексы предыдущего и текущего наибольших суммi1иi2. - По окончании цикла выводится сообщение
Maximalnaya summa=, значениеmax, а также значенияa[i1]иa[i2]. - Программа завершается с помощью функции
readln().