Форум программистов, компьютерный форум CyberForum.ru

Найти количество обменов пузырьковой сортировки - C++

Восстановить пароль Регистрация
 
Ruff18
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 12
25.09.2016, 22:20     Найти количество обменов пузырьковой сортировки #1
Подскажите пожалуйста , как найти количество обменов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
 
using namespace std;
 
int main()
{
    int *arr; // указатель для выделения памяти под массив
    int size; // размер массива
    cin >> size;
 
    if (size <= 0) {
        cerr << endl;
        return 1;
    }
 
    arr = new int[size]; 
 
    // заполнение массива
    for (int i = 0; i < size; i++) {
        cin >> arr[i];
    }
    int temp; // временная переменная для обмена элементов местами
 
    // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // меняем элементы местами
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    delete [] arr; 
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4298 / 3719 / 1252
Регистрация: 14.04.2014
Сообщений: 14,542
25.09.2016, 22:43     Найти количество обменов пузырьковой сортировки #2
Что же у вас так туго с этим подсчётом? Переменную-счётчик объяви и инкрементируй там, где обмен.
Ruff18
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 12
27.09.2016, 23:20  [ТС]     Найти количество обменов пузырьковой сортировки #3
Я не понимаю , как это записать правильно
obivan
Падаван С++
 Аватар для obivan
172 / 158 / 41
Регистрация: 11.11.2014
Сообщений: 591
Завершенные тесты: 1
28.09.2016, 00:07     Найти количество обменов пузырьковой сортировки #4
Ruff18,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int count = 0;
for (int i = 0; i < size - 1; i++) {
    for (int j = 0; j < size - i - 1; j++) {
        if (arr[j] > arr[j + 1]) {
            // меняем элементы местами
            temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
            ++count;
        }
    }
}
cout << count;
Yandex
Объявления
28.09.2016, 00:07     Найти количество обменов пузырьковой сортировки
Ответ Создать тему
Опции темы

Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru