Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка. Счетчики - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В одномерном массиве, вычислить много чего. Всё в описании. Спасите http://www.cyberforum.ru/cpp-beginners/thread824979.html
Помогите пожалуйста!.. Вводить из клавиатуры массивы и обрабатывать их, пока на запрос “Хотите продолжать работу дальше (да, нет) ?” пользователь не ответит “нет”. Введены линейные массивы...
C++ Соединение нескольких одномерных массивов в одну программу Помогите пожалуйста решить 4 задачи так, чтобы они были записаны одной программой. 1. Найдите количество элементов, находящихся в диапазоне между двумя заданными числами. 2. Упорядочите элементы... http://www.cyberforum.ru/cpp-beginners/thread824977.html
C++ Ассоциативный массив в С++ (типо пэхапе)
Где можно посмотреть такой класс? Сделал такое, но пространства имен не изучал еще. Как сделать так что бы можно было написать: using namespace Ass; и мне бы не приходилось каждый раз писать...
Погрешность,значение функции.Задача C++
У нас есть полином, для которого нужно составить таблицу значений на интервале с шагом 0.05 и точностью 10^4 и функциональный ряд для известной функции, значение которой нужно вычислить с заданной...
C++ Программа работающая с файлом http://www.cyberforum.ru/cpp-beginners/thread824962.html
Друзья, помогите решить следующую задачу: Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются только два раза, в том порядке, в котором они встречаются в...
C++ ПОмогите найти ошибку Программа работает, но она выдаёт все строки одинаковые .А они должны быть разные. Вычислить m значений заданной функции f(x) на отрезке . Результаты оформить в виде табл. 1. Столбцы таблицы: 1 —... подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4701 / 2905 / 239
Регистрация: 12.12.2009
Сообщений: 7,402
Записей в блоге: 2
Завершенные тесты: 1
01.04.2013, 18:22
А какая проблема с счетчиками? Это ж элементарно.
Сейчас сижу пишу аналогичную контрольную, вот мой пузырек с счетчиками
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <typename T>
sort_result Vector<T>::bubbleSort ()
{
    long cmp_counter = 0, swap_counter = 0;
 
    for (int i = 0; i <= _size - 2; i++) {
        for (int j = _size - 1; j >= i + 1; j--) {
            ++cmp_counter;
            if (_array[j - 1] > _array[j]) {
                ++swap_counter;
                std::swap (_array[j - 1], _array[j]);
            }
        }
    }
 
    return sort_result (cmp_counter, swap_counter);
}
где sort_result это
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class sort_result
{
public:
    sort_result (long cmp, long swp) : result (std::make_pair(cmp, swp)) {}
 
    long comparisons ()
    {
        return result.first;
    }
 
    long swaps ()
    {
        return result.second;
    }
 
private:
    std::pair<long, long> result;
};
в остальные сортировки по аналогии добавишь.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.