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

Исправить Radix sort - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод наименьших квадратов http://www.cyberforum.ru/cpp-beginners/thread1132901.html
Можете около сложных строчек написать что там происходит(комментарии) #include "stdafx.h" #include <tchar.h> #include <iostream> #include <cmath> #include <iomanip> using namespace std; int _tmain() {
C++ Какой компилятор использовать? читаю Страуструпа практика С++,половина программ выдают ошибки,глава с графикой вообще не работает. проблема с библиотеками,например, пишу #include"Graph.h"-ошибка.компилятор vs 2013. какой компилятор использовать?книга 2011 года выпуска. http://www.cyberforum.ru/cpp-beginners/thread1132896.html
Std::vector в txt файл C++
У меня есть координаты точек которые хранятся в std::vector (выглядят они так, если выводить просто на экран через cout ,) Как мне их записать в текстовый файл?
Подсчет уменьшения значения элементов C++
В общем дан массив чисел. Нужно посчитать "серию" чисел с меньшего к большему. int i, count = 0; int A ; int size = 10; for (i = 1; i<=size; i++){ A = i; //случайное число printf ("%d\n", A); //печать массива }
C++ Как открыть Turbo C++ через dosBox? http://www.cyberforum.ru/cpp-beginners/thread1132872.html
Как открыть турбо с++ через docBox? Пишет несовместимость, но это возможно что да как делать, подскажите
C++ Создать два поля для морского боя Для практики создайте программу рисующую на экране два поля для морского боя. Первое - игрока, второе - противника. Второе поле должно располагаться справа от первого. Внутренние клетки заполняйте пробелом. Для рисования границы используйте минус и прямую разделительную черту: -, |, а для углов - решётку #. Слева от каждого поля - столбик цифр; сверху - буквы. вот у меня ток получилось (методом... подробнее

Показать сообщение отдельно
_LoneR_
 Аватар для _LoneR_
90 / 90 / 9
Регистрация: 15.01.2011
Сообщений: 494
29.03.2014, 13:21     Исправить Radix sort
Здравствуйте! Помогите исправить ошибку в Radix sort! Я пытался изменить код который сортирует одномерный массив, на сортировку двумерного массива, но он не работает. Я не совсем понимаю как работает radix sort. Помогите исправить буду очень благодарен.
C++ (Qt)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream>
#include <iomanip>
#include <ctime>
#include <fstream>
#include <queue>
 
using namespace std;
 
const int col = 5;
const int row = 5;
 
int Arr[row][col];
 
int roz(int num, int nr)
{
    num = num >> (nr << 3);
    return num & 255;
}
 
void FillArray()
{
    ofstream input("input.txt");
    srand(time(NULL));
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            Arr[i][j] = rand() % 100;
            input << setw(5) << Arr[i][j];
        }
        input << endl;
    }
}
 
void ShowArray()
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << setw(5) << Arr[i][j];
        }
        cout << endl;
    }
    cout << endl;
}
 
void Sort()
{
    queue <int> mas[256];
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < row; j++)
        {
            for (int k = 0; k < col; k++)
            {
                mas[roz(Arr[j][k], i)].push(Arr[j][k]);
            }
        }
        for (int k = 0; k < 256; k++)
        {
            for (int j = 0; j < row; j++)
            {
                for (int z = 0; z < col; z++)
                {
                    while (!mas[k].empty())
                    {
                        Arr[j][z] = mas[k].front();
                        mas[k].pop();
                    }
                }
            }
        }
    }
}
 
int main()
{
    FillArray();
    ShowArray();
    Sort();
    ShowArray();
    cin.get();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru