0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 39
1

Количество проходов в сортировке

18.04.2015, 20:08. Показов 1885. Ответов 3
Метки нет (Все метки)

Прошу помощи не могу определить количество проходов сортировки, перерыл кучу информации нашёл и готовые варианты но как оказолось они выдают ложные ответы,в задаче нужно найти количество проходов и обменов,обменов я нашёл ,но проходы неверны вот данный код, и пример массива в файле:
16 2 4 9 14 18 12 6 7 11 13 15 1 3 17 8 5 10
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
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int N = 18;
 
 
int main(){
    
    
    int number;
    int *arr = new int[N];
    ifstream file("input.txt");
    for(int i=0;i<N;i++)
    {
        file >> number;
        arr[i] = number;
    }
    cout << endl;
    int cnt=0,swp=0;
    int i,j,key,count;
 
    for(i = 0; i < N-1;i++)
    {
        cnt++;
        for(j=0; j<N-(i+1);j++)
        {
            key = j+1;
            count = arr[key];
            
            if(arr[j]>arr[key])
            {
                arr[key] = arr[j];
                arr[j] = count;
                swp++;
            }
        }
    }
 
 
    for(int i=0;i<N;i++)
        cout << setw(4) << arr[i] ;
        cout << endl;
        cout << cnt << setw(4) << swp << endl;
        delete[]arr;
    system("pause");
    return 0;
}
Программа выдаёт 17 проходов и 79 обменов,но при загрузке на сайт проверка выдаёт 13 79,куда я только не пробывал ставить счётчик уже выбился из сил будьте добры,жду помощи
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2015, 20:08
Ответы с готовыми решениями:

Количество произведенных сравнений в Быстрой Сортировке
Помогите подсчитать выполненное количество сравнений при алгоритме быстрой сортировки. Не могу...

Количество перестановок при сортировке массива
Как вывести число количества перестановок после сортировки массива, допустим выбору?

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

Как посчитать количество итераций в сортировке слиянием?
void merge(int l, int r) { if (r == l) return; if (r - l == 1) { if (a &lt; a) swap(a,...

3
3087 / 2408 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
18.04.2015, 20:28 2
delete
0
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 39
18.04.2015, 20:32  [ТС] 3
что-то я не понял суть вашего ответа(
0
3087 / 2408 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
18.04.2015, 20:47 4
Для Вашего кода количество проходов будет равнятся количеству элементов в массиве минус один. А что считает сайт куда Вы загружаете, и что это за сайт не понятно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2015, 20:47
Помогаю со студенческими работами здесь

Количество сравнений/перестановок в сортировке естественным слиянием
Добрый день ! Никак не могу понять как создать счётчик и куда его вставить , лазил по форумах и не...

Как определить количество перестановок и сравнений в выборочной сортировке
void choicesSort(int* Array, int length_array) { for (int repeat_counter(0); repeat_counter...

Как найти в этой сортировке количество перестановок и сравнений?
Как найти в этой сортировке количество перестановок и сравнений? void InsertSort(int *mas, int...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru