Расположить четные элементы последовательности по убыванию - C (СИ)
Формулировка задачи:
Решение задачи: «Расположить четные элементы последовательности по убыванию»
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand( time( NULL ) );
const int N=10;
int a[N], i, j, t;
printf("Ishodn massiv:\n");
for(i=0; i<N; i++)
{
a[i]=rand()%10;
printf("%d ", a[i]);
}
for(i=0; i<N; i++)
if(a[i]%2==0)
for(j=i+1; j<N; j++)
if(a[j]%2==0 && a[j]>a[i])
{
t=a[i]; a[i]=a[j]; a[j]=t;
}
printf("\nPoluch massiv:\n");
for(i=0; i<N; i++)
printf("%d ", a[i]);
return 0;
}
Объяснение кода листинга программы
Код начинается с подключения необходимых библиотек, а именно stdio.h, stdlib.h и time.h. Далее, в функции main(), используется функция srand() для инициализации генератора случайных чисел. Затем объявляется константа N, которая представляет собой размер массива. Следующим шагом является создание массива a типа int с размером N и инициализация его случайными четными числами с помощью функции rand(). Затем происходит сортировка массива a по убыванию с помощью алгоритма сортировки пузырьком. Внутренний цикл проверяет, является ли текущий элемент четным, и если да, то внешний цикл перебирает оставшиеся элементы, начиная с элемента, следующего за текущим, и если текущий элемент больше следующего, то они меняются местами с помощью временной переменной t. После сортировки массив выводится на экран с помощью функции printf(). В конце функции main() возвращается 0, что означает успешное завершение программы.