Первый алгоритм: const n=30; var a:array[1..30] of integer; s:longint; i:integer; begin { формируем массив } Randomize; Writeln('Элементы массива:'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i]:4) end; Writeln; { собственно, алгоритм } s:=a[1]*a[2]; i:=3; while i<=n-1 do begin s:=s+a[i]*a[i+1]; i:=i+2 end; Writeln('Сумма пар произведений равна ',s) end.
Тестовое решение: Элементы массива: 1 10 -9 -12 -2 20 21 14 5 19 21 -14 -10 -17 5 -9 -8 17 18 11 -21 -3 -15 -10 -15 -16 -15 2 3 21 Сумма пар произведений равна 846
Второй алгоритм const n=30; var a:array[1..30] of integer; smax,imax:longint; i:integer; begin { формируем массив } Randomize; Writeln('Элементы массива:'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i]:4) end; Writeln; { собственно, алгоритм } smax:=a[1]+a[2]; imax:=1; for i:=2 to n-1 do if smax<a[i]+a[i+1] then begin smax:=a[i]+a[i+1]; imax:=i end; Writeln('Номер первого из пары элементов с максимальной суммой: ',imax) end.
Тестовое решение: Элементы массива: 23 13 -11 -1 -18 20 -23 1 -21 -10 7 15 -2 24 -18 -22 -13 12 -16 22 19 -14 -14 -14 19 15 8 -15 -19 -22 Номер первого из пары элементов с максимальной суммой: 20
Program kislota; uses crt; const n=30; var e:array[1..n] of integer; sum,nom,i: integer; begin writeln('*** alphaues is thinking... ***'); writeln('*** OK ***'); writeln(); writeln('Элементы массива:'); randomize; nom:=0; for i:=1 to n do begin e[i]:=random(100)-50; write (e[i]:5); end; sum:=e[1]+e[2]; for i:=1 to n-1 do if (e[i]+1 + e[i+1])>sum then begin sum:=e[i]+1 + e[i+1]; nom:=i; end; writeln(); writeln('Номер первого элемента пары с максимальной суммой: ',nom); end.
const
n=30;
var
a:array[1..30] of integer;
s:longint;
i:integer;
begin
{ формируем массив }
Randomize;
Writeln('Элементы массива:');
for i:=1 to n do
begin a[i]:=Random(51)-25; Write(a[i]:4) end;
Writeln;
{ собственно, алгоритм }
s:=a[1]*a[2]; i:=3;
while i<=n-1 do
begin s:=s+a[i]*a[i+1]; i:=i+2 end;
Writeln('Сумма пар произведений равна ',s)
end.
Тестовое решение:
Элементы массива:
1 10 -9 -12 -2 20 21 14 5 19 21 -14 -10 -17 5 -9 -8 17 18 11 -21 -3 -15 -10 -15 -16 -15 2 3 21
Сумма пар произведений равна 846
Второй алгоритм
const
n=30;
var
a:array[1..30] of integer;
smax,imax:longint;
i:integer;
begin
{ формируем массив }
Randomize;
Writeln('Элементы массива:');
for i:=1 to n do
begin a[i]:=Random(51)-25; Write(a[i]:4) end;
Writeln;
{ собственно, алгоритм }
smax:=a[1]+a[2]; imax:=1;
for i:=2 to n-1 do
if smax<a[i]+a[i+1] then
begin smax:=a[i]+a[i+1]; imax:=i end;
Writeln('Номер первого из пары элементов с максимальной суммой: ',imax)
end.
Тестовое решение:
Элементы массива:
23 13 -11 -1 -18 20 -23 1 -21 -10 7 15 -2 24 -18 -22 -13 12 -16 22 19 -14 -14 -14 19 15 8 -15 -19 -22
Номер первого из пары элементов с максимальной суммой: 20
Паскаль АВС:
Program kislota;
uses crt;
const n=30;
var
e:array[1..n] of integer;
sum,nom,i: integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
writeln('Элементы массива:');
randomize;
nom:=0;
for i:=1 to n do
begin
e[i]:=random(100)-50;
write (e[i]:5);
end;
sum:=e[1]+e[2];
for i:=1 to n-1 do
if (e[i]+1 + e[i+1])>sum then
begin
sum:=e[i]+1 + e[i+1];
nom:=i;
end;
writeln();
writeln('Номер первого элемента пары с максимальной суммой: ',nom);
end.