Используется лишь одна переменная - список L.
Пример работочисла задаются автоматом через random
Объяснение:
var
a : array [1..40] of integer;
i, m, ind : integer;
begin
randomize;
for i := 1 to 40 do begin
a[i] := random(100);
if i mod 2 = 0 then write(a[i]:2, ' ')
else write(a[i]:2, '__');
if i mod 10 = 0 then writeln();
end;
m := 200;
ind := -1;
i := 1;
repeat begin
if m > (a[i]+a[i+1]) then begin
m := (a[i]+a[i+1]);
ind := i;
end;
i := i+2;
end
until i > 40;
writeln('----- ', round((ind+1)/2) ,' пара минимальная -----');
writeln(a[ind], ' ', a[ind+1]);
end.
Объяснение:
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит пару с наименьшей суммой среди непересекающихся пар соседних элементов. То есть, первая пара - 1-й и 2-й элементы, вторая пара - 3-й и 4-й элементы, и т.д.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Pascal?
var min, max, j, count: integer;
begin
min:=30000;
max:=0;
readln(j);
while j <> 0 do begin
if (j mod 5 = 0) and (j < min) then begin
min:= j;
count:= count + 1;
end;
if (j mod 5 = 0) and (j > max) then begin
max:= j;
count:= count + 1;
end;
readln(j);
end;
if count = 0 then write('NO') else write((min+max)/2);
end.