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