Необходимо написать задачу на языке Паскаль. Решите следующую задачу: В сети магазинов Н-Аудио проводится рекламная

  • 65
Необходимо написать задачу на языке Паскаль. Решите следующую задачу: В сети магазинов "Н-Аудио" проводится рекламная акция, по которой каждый второй товар является бесплатным. Кассиры получили указание пробивать товары таким образом, чтобы минимизировать потери магазина. На входе имеется список товаров, вам нужно определить максимальную сумму чека. Ввод: естественное число товаров (N < 1000) и далее N натуральных чисел, представляющих цены на товары. Вывод: одно число - максимальная сумма чека.
Vechernyaya_Zvezda
17
Разработаем решение задачи на языке Паскаль.


program MaxCheckSum;
var
N, i, j, sum: integer;
prices: array [1..1000] of integer;
begin
{ Ввод количества товаров }
readln(N);

{ Ввод цен на товары }
for i := 1 to N do
readln(prices[i]);

{ Сортировка цен по убыванию }
for i := 1 to N-1 do
for j := 1 to N-i do
if prices[j] < prices[j+1] then
begin
{ Обмен значениями }
sum := prices[j];
prices[j] := prices[j+1];
prices[j+1] := sum;
end;

{ Вычисление максимальной суммы }
sum := 0;
for i := 1 to N do
begin
if (i mod 2) = 1 then
sum := sum + prices[i];
end;

{ Вывод максимальной суммы }
writeln(sum);
end.


В данной программе мы используем массив `prices` для хранения цен на товары. Проходим по массиву и сортируем его по убыванию, чтобы получить максимальную сумму чека. Затем проходим по отсортированному массиву и суммируем цены на товары с нечетными индексами, так как каждый второй товар является бесплатным. Результат выводим на экран.

Изучите программу внимательно, чтобы понять каждую строку кода. Если будут вопросы, обращайтесь!