В целочисленном массиве произвести сортировку только четных элементов - Turbo Pascal
Формулировка задачи:
Дан цель численный массив. Требуется расположить четные
элементы в порядке возрастания. При этом нечетные элементы
остаются на своих местах и с ними никаких действий не производится.
Один вопрос:
Почему Паскаль выдаёт ошибку (например)
a:= random(10) - 5;
Но
a:= -5 +random(10); - а так все нормально??
Решение задачи: «В целочисленном массиве произвести сортировку только четных элементов»
textual
Листинг программы
for i:=1 to n-1 do for j:=i+1 to n 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;
Объяснение кода листинга программы
Данный код выполняет сортировку только четных элементов в массиве. Для этого используется два вложенных цикла for. Первый цикл идет от 1 до n-1, второй - от i+1 до n. Внутри циклов проверяется, является ли текущий элемент четным (a[i] mod 2=0). Если это так, то сравнивается следующий элемент с текущим. Если текущий элемент больше следующего, то они меняются местами. В конце каждого внутреннего цикла значение переменной x присваивается значению переменной a[i], а значение a[i] присваивается значению a[j].
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д