Написать программу,которая сортирует массив из N элементов по возрастанию методом...

0 голосов
144 просмотров

Написать программу,которая сортирует массив из N элементов по возрастанию методом “пузырька”и считает при этом количество произведённых перестановок.Протестировать программу на следующих исходных данных: а) 2 5 1 6 4 10 4 2 б) 1 2 5 6 -4 11 12 в) 12 10 6 4 2 1 0


Информатика (14 баллов) | 144 просмотров
0

Какой язык программирования

Дан 1 ответ
0 голосов

Нужный язык программирования не указан. Наверное, тебе подойдет Си :с

int n, tmp;           // переменные для длины массива и временная

int count = 0;     // переменная-счетчик для количества перестановок

scanf_s("%d", &n;)       // считываем количество элементов в массиве

int arr[n];               // объявляем массив из n элементов

for (int i = 0; i < n; i++) {          // формируем массив

       scanf_s("%d", arr[i]);

}

for (int i = 0; i < n; i++)  {          // сравниваем два соседних элемента (j и j+1)

     for (int j = 0; j < n - i - 1; j++)  {

                if (arr[j] > arr[j + 1])  {   // свапаем элементы местами, если порядок неверный через временную переменную

                        tmp = arr[j];

                        arr[j] = arr[j + 1];

                        arr[j + 1] = tmp;

                        count++;          // увеличиваем счетчик перестановок

                      }

               }

      }

ptintf("%d", count);         //выводим количество перестановок

(278 баллов)