
Написать программу на языке С (не С++!!!) для сортировки модификацией пузырька "чёт-нечёт".


Ответы на вопрос

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define n 10
int main()
{
srand(time(NULL));
int arr[n];
int tmp;
/*Заполняем массив случайными числами и выводим на экран*/
for (int i = 0; i < n;i++)
{
arr[i] = rand() % 10;
printf("%i ", arr[i]);
}
/*Сортировка*/
for (int i = 0; i < n; i++) {
if (i % 2 == 0)
for (int j = 2; j < n; j += 2) {
if (arr[j] < arr[j - 1]) {
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
else
for (int j = 1; j < n; j += 2) {
if (arr[j] < arr[j - 1]) {
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
/*Вывод отсортированного массива на экран*/
printf("\n");
for (int i = 0; i < 10; i++)
{
printf("%i ", arr[i]);
}
return 0;
}



Вот пример программы на языке C для сортировки модификацией пузырька "чёт-нечёт":
```c
#include
void oddEvenSort(int arr[], int n) { int sorted = 0; while (!sorted) { sorted = 1; for (int i = 0; i <= n - 2; i += 2) { if (arr[i] > arr[i + 1]) { int temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; sorted = 0; } } for (int i = 1; i <= n - 2; i += 2) { if (arr[i] > arr[i + 1]) { int temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; sorted = 0; } } } }
int main() { int arr[] = {5, 2, 9, 1, 5, 6}; int n = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); }
oddEvenSort(arr, n);
printf("\nAfter sorting: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); }
return 0; } ```
Эта программа сначала определяет функцию `oddEvenSort`, которая сортирует массив `arr` размером `n` с помощью модификации пузырьковой сортировки "чёт-нечёт". Затем в функции `main` создается массив, выводится на экран до сортировки, сортируется с помощью `oddEvenSort` и выводится после сортировки.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili