В целочисленном массиве произвести сортировку только четных элементов - 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].

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


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

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

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