
Дан целочисленный массив из 40 элементов. Напишите программу на паскале, которая находит и выводит
пару с наименьшей суммой среди непересекающихся пар соседних элементов. То есть первая пара - 1 и 2 элементы, а вторая пара - 3 и 4 элементы и тд

Ответы на вопрос

Ответ:
числа задаются автоматом через 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, которая находит и выводит пару с наименьшей суммой среди непересекающихся пар соседних элементов в целочисленном массиве из 40 элементов:
pascalprogram FindMinSumPair; var arr: array[1..40] of integer; i, minSum, currentSum, pair1, pair2: integer; begin // Вводим элементы массива writeln('Введите 40 целых чисел:'); for i := 1 to 40 do begin write('arr[', i, ']: '); readln(arr[i]); end; // Инициализируем переменные минимальной суммы и пар соседних элементов minSum := arr[1] + arr[2]; pair1 := 1; pair2 := 2; // Находим пару с наименьшей суммой for i := 3 to 40 step 2 do begin currentSum := arr[i] + arr[i - 1]; if currentSum < minSum then begin minSum := currentSum; pair1 := i - 1; pair2 := i; end; end; // Выводим пару с наименьшей суммой writeln('Пара с наименьшей суммой: arr[', pair1, '] и arr[', pair2, ']'); writeln('Сумма: ', minSum); readln; end.
Эта программа сначала запрашивает 40 целых чисел от пользователя, сохраняет их в массиве arr
, а затем находит пару с наименьшей суммой среди непересекающихся пар соседних элементов, начиная с первой пары (1 и 2 элементы) и двигаясь к следующим парам. Найденная пара и ее сумма выводятся на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili