Упорядочить четные по значению элементы второй третий массива по убыванию - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Упорядочить четные по значению элементы второй третий массива по убыванию.

Решение задачи: «Упорядочить четные по значению элементы второй третий массива по убыванию»

textual
Листинг программы
var a:array[1..99]of integer;
    n,i,j,k,x:integer;
begin
randomize;
repeat
write('Введите размер массива число, кратное 3 от 3 до 99 n=');
readln(n);
until(n in [3..99])and(n mod 3=0);
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4);
 end;
writeln;
k:=n div 3;
for i:=k+1 to 2*k-1 do
for j:=i+1 to 2*k do
if (a[i] mod 2=0)and(a[j] mod 2=0)and(a[i]<a[j]) then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Сортировка четных 2-й трети по убыванию');
for i:=1 to n do
write(a[i]:4);
end.

Объяснение кода листинга программы

  1. Создается переменная a типа array[1..99]of integer;, которая будет использоваться для хранения отсортированного массива.
  2. Задаются переменные n, i, j, k, x типа integer;, которые будут использоваться для работы с массивом.
  3. В цикле repeat считывается размер массива от пользователя. Условие n in [3..99] гарантирует, что введенное значение будет кратно 3 и находиться в диапазоне от 3 до 99.
  4. В цикле for считывается n элементов массива. Для каждого элемента a[i] присваивается случайное число от 1 до 100.
  5. Выводится отсортированный массив.
  6. В цикле for считывается k элементов массива, начиная с индекса k+1. Для каждого элемента a[i] и следующего за ним a[j] проверяется условие a[i] mod 2=0 и a[j] mod 2=0. Если условие выполняется и a[i] меньше a[j], то значения a[i], a[j] и a[i] меняются местами.
  7. В цикле for считывается оставшиеся элементы массива, начиная с индекса 2*k+1. Для каждого элемента a[i] выводится его значение.
  8. Выводится сообщение о завершении сортировки.
  9. Выводится отсортированный массив.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы