Отсортировать массив содержащий целые числа по убыванию суммы остатков от деления чисел на 5 и на 3 - Turbo Pascal
Формулировка задачи:
отсортировать массив содержащий целые числа по убыванию суммы остатков от деления чисел на 5 и на 3
Решение задачи: «Отсортировать массив содержащий целые числа по убыванию суммы остатков от деления чисел на 5 и на 3»
textual
Листинг программы
for i:=1 to n-1 do for j:=i+1 to n do if ((a[i] mod 5) + (a[i] mod 3))>((a[j] mod 5) + (a[j] mod 3)) then begin buf:=a[i]; a[i]:=a[j]; a[j]:= buf end;
Объяснение кода листинга программы
В данном коде используется два вложенных цикла. Первый цикл проходит по элементам массива a от 1 до n-1, а второй цикл проходит по элементам массива a от i+1 до n.
Внутри второго цикла проверяется условие: если сумма остатков от деления текущего элемента массива a[i] на 5 и на 3 больше, чем сумма остатков от деления следующего элемента массива a[j] на 5 и на 3, то происходит перестановка элементов.
Для этого используется буфер buf, в который сохраняется текущий элемент массива a[i], а затем a[i] заменяется на buf, а a[j] заменяется на буфер buf.
Таким образом, после выполнения второго цикла массив будет отсортирован по убыванию суммы остатков от деления чисел на 5 и на 3.