Отсортировать элементы массива, с чётными индексами - по возрастанию, с нечётными - по убыванию - Turbo Pascal

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

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

Организуйте массив содержащий 20 целых чисел. Отсортируйте отдельно элементы с четными инднксами по возрастанию, и элементы с нечетными индексами по убыванию. Составить блок-схему.

Решение задачи: «Отсортировать элементы массива, с чётными индексами - по возрастанию, с нечётными - по убыванию»

textual
Листинг программы
uses crt;
const n=20;
var a:array[1..n] of integer;
    i,j,x:integer;
begin
clrscr;
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=10+random(90);
  write(a[i]:3);
 end;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if (odd(i)and odd(j) and(a[i]<a[j]))
or(not odd(i))and not odd(j)and(a[i]>a[j]) then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Сортировка с четными индексами по возрастанию, с не четными по убыванию');
for i:=1 to n do
write(a[i]:3);
readln
end.

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

  1. Объявлены переменные: — a: массив из 20 целых чисел; — i, j, x: целочисленные переменные для выполнения сортировки.
  2. Заполнение массива случайными числами от 10 до 99.
  3. Вывод исходного массива на экран.
  4. Прямой цикл для сортировки массива: — Внешний цикл для перебора всех элементов массива, начиная с 1-го элемента. — Внутренний цикл для перебора всех элементов, начиная с текущего элемента и до конца массива. — Условие для обмена элементов: — Если текущий элемент массива a[i] меньше a[j] и i и j нечетные, то выполняется обмен элементов. — Если текущий элемент массива a[i] больше a[j] и i четное и j нечетное, то выполняется обмен элементов.
  5. Вывод отсортированного массива на экран.
  6. Чтение из потока ввода (нажатие любой клавиши) для завершения работы программы.

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


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

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

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