Предмет: Информатика, автор: alinaemae

дан одномерный массив целых чисел размерностью до 20 элементов. Необходимо упорядочить элементы исходного массива по возрастанию, определить сумму элементов с четными индексами и сумму элементов с нечетными индексами. Вывести на экран исходный массив и результат работы программы.
‼️ПАСКАЛЬ‼️
я вас умоляю, помогите

Ответы

Автор ответа: rinatmuxekto86
1

Ответ:

var

a:array [1..20] of integer;

i,sort,t, sumChet, sumNechet:integer;

begin

for i:=1 to 20 do

begin

 writeln('Введите число. (осталось ввести ',21-i, ')');

 readln(a[i]);

end;

writeln('Исходный массив:', a);

sort:=1;

sumChet:=0;

sumNechet:=0;

while sort<>0 do

begin

sort:=0;

 for i:=1 to 19 do

 begin

   if a[i]>a[i+1] then

   begin

     t:=a[i];

     a[i]:=a[i+1];

     a[i+1]:=t;

     sort+=1;

   end;

end;

end;

for i:=1 to 20 do

begin

 if i mod 2=0 then

 sumchet+=a[i]

 else sumNechet+=a[i];

end;

writeln('Отсортированный массив: ', a);

writeln('Сумма нечётных элементов изменённого массива равна ', sumNechet,', а сумма чётных ',sumChet);

end.

Объяснение:

Сначала пользователь вводит 20 значений, после чего достаточно хитрым способом мы сортируем полученные данные:

Переменная sort отслеживает, были ли у нас хоть какие то изменения при проходе цикла и если да, то она увеличивается. В начале цикла while мы проверяем, менялась ли переменная sort и если да, то запускаем цикл по новой. В цикле мы проверяем на то, стоит ли справа от нашего элемента элемент меньше и если да, то меняем их местами. Как только мы проверили все элементы и наша переменная sort не изменилась, то цикл заканчивается и мы начинаем подсчёт суммы.

Чётность проверяется за счёт операции mod: она высчитывает остаток от деления, т.е. строка if i mod 2=0 проверяет, будет ли остаток от деления значения переменной i на 2 равен 0 и если да, то значит перед нами чётный элемент, который мы прибавляем к переменной суммы sumChet. Если нет, то перед нами нечётный элемент и отправляется он к сумме sumNechet. В конце оформляем вывод


alinaemae: БОЖЕ, СПАСИБО ОГРОМНОЕ, ТЫ ЛУЧШИЙ!!!!!!!!!
Похожие вопросы
Предмет: Окружающий мир, автор: Nikita22813371521