Напишите программу на языке Паскаль, которая будет находить номер элемента в массиве, у которого модуль разности сумм

  • 45
Напишите программу на языке Паскаль, которая будет находить номер элемента в массиве, у которого модуль разности сумм чисел слева и справа от него будет наименьшим. При суммировании не учитывайте значение элемента с этим номером. Нумерация элементов начинается с 0. Пример входных данных: 1,2,3,4,5,6,2. Ожидаемый результат.
Shura_5087
6
Конечно! Вот как можно написать программу на языке Паскаль для решения данной задачи:

pascal
program MinDifference;
const
N = 7; // Количество элементов в массиве
var
arr: array[0..N-1] of Integer; // Исходный массив
i, minIndex, diff, minDiff, leftSum, rightSum: Integer;

begin
// Вводим элементы массива
arr[0] := 1;
arr[1] := 2;
arr[2] := 3;
arr[3] := 4;
arr[4] := 5;
arr[5] := 6;
arr[6] := 2;

// Инициализируем начальные значения переменных
minDiff := Abs(arr[1] + arr[2] + arr[3] + arr[4] + arr[5] + arr[6] - arr[0]);
minIndex := 0;

// Находим элемент с наименьшим модулем разности сумм
for i := 1 to N-2 do
begin
leftSum := 0;
rightSum := 0;

// Вычисляем сумму чисел слева от текущего элемента
for j := 0 to i-1 do
leftSum := leftSum + arr[j];

// Вычисляем сумму чисел справа от текущего элемента
for j := i+1 to N-1 do
rightSum := rightSum + arr[j];

// Вычисляем модуль разности сумм и сравниваем с минимальным значением
diff := Abs(leftSum - rightSum);
if (diff < minDiff) then
begin
minDiff := diff;
minIndex := i;
end;
end;

// Выводим результат
Writeln("Номер элемента с наименьшим модулем разности сумм: ", minIndex);
end.


В данной программе мы используем один массив `arr` для хранения входных данных. Затем мы проходим по каждому элементу, вычисляем сумму чисел слева и сумму чисел справа, и сравниваем их разность с минимальным значением. Когда находим новое минимальное значение разности, запоминаем индекс элемента.

Выше представлен пример программы для ввода входных данных `[1, 2, 3, 4, 5, 6, 2]`. После запуска, программа выведет номер элемента массива, у которого модуль разности сумм чисел слева и справа от него будет наименьшим.