Вопрос задан 20.06.2023 в 02:09. Предмет Информатика. Спрашивает Гекк Влад.

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

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Slavic Buga.

#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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на языке 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` и выводится после сортировки.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос