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

Ответы

Ответ дал: zolponajzoodarbekk
0

Объяснение:

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

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.


mirageKZ: Ваш ответ вообще к чему???? полагаю это ошибка
Ответ дал: mirageKZ
1

Ответ:

числа задаются автоматом через  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.

Приложения:

mirageKZ: если есть вопросы - задавайте
coolkate1: Не очень понятно зачем i mod 2 и i mod 10, а еще откуда были взяты эти значения m := 200; ind := -1;i := 1
mirageKZ: это сделано для того чтобы вывести весь первоначальный массив в удобном виде. i mod 2 добавил чтобы показать пары, между парами ставится символ _. i mod 10 добавил, чтобы выводить по 10 чисел в строке, итого будет 4 строки.
mirageKZ: m=200 задал чтобы найти минимальное значение при поиске. Минимальное число первоначально не может быть больше чем сумма пары, каждое из чисел которых задана в рандоме до 100.
mirageKZ: i = 1 это начальный шаг цикла с которого надо брать элементы.
mirageKZ: без условий ( i mod 2 и i mod 10) будет каша из цифр, и тяжело проверять решение. Поверь, так лучше.
coolkate1: Спасибо:)
Вас заинтересует