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

Количество обменов
Определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива.

Входные данные

На первой строке дано число N(1≤N≤1000) — количество элементов в массиве. На второй строке — сам массив. Гарантируется, что все элементы массива различны и не превышают по модулю 109.

Выходные данные

Выведите одно число — количество обменов пузырьковой сортировки.

Примеры
Ввод
Вывод
5
1 2 3 4 5
0
5
5 4 3 2 1
10
ЯЗЫКИ - ПИТОН И С++

Показать ответ
Ответ:
Сat856142555
Сat856142555
15.10.2020 12:38

Объяснение:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUSSIAN");

const int n = 5;             // (1≤N≤1000)

int mass[n] = { 5, 4, 3, 2, 1 };

int k = 0;

cout << "Исходный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}

cout << endl;

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

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

  if (mass[j] > mass[j + 1]) {

   int b = mass[j]; // создали дополнительную переменную

   mass[j] = mass[j + 1]; // меняем местами

   mass[j + 1] = b; // значения элементов

   k++;

  }

 }

}

cout << "Отсортированный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}  

cout << endl << "Kоличество обменов: " << k << endl;

system("pause");

return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота