Отсортировать вектор, чтобы четные числа были слева по порядку следования - C (СИ)
Формулировка задачи:
Отсортировать вектор так, чтобы четные числа были слева по порядку следования, а нечетные справа в порядке их следования
Решение задачи: «Отсортировать вектор, чтобы четные числа были слева по порядку следования»
textual
Листинг программы
for ( i = 0; i < n-1; i ++ )
for ( j = i+1; j < n; j ++ )
if ((A[i]&1=1)&&(A[j]&1=0))
{
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
Объяснение кода листинга программы
В данном коде выполняется сортировка вектора по следующему алгоритму:
- Начинается два вложенных цикла, первый из которых идет по индексам от 0 до n-1, где n - размер вектора.
- Во втором цикле происходит проверка: если число A[i] является четным (остаток от деления на 2 равен 0), а число A[j] - нечетным (остаток от деления на 2 равен 1), то выполняется обмен значений между A[i] и A[j].
- Значение переменной temp равно значению A[i].
- Значение A[i] присваивается значение A[j].
- Значение A[j] присваивается значение temp.
- После завершения циклов, вектор будет отсортирован таким образом, что четные числа будут следовать по порядку следования.