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

Как исправить данный код сортировки? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Слабо создать программу, которая много чего делает, а в main только return 0? http://www.cyberforum.ru/cpp-beginners/thread88424.html
Пояснение: Имеется некая функции Function() {} Причем она может делать что угодно. Кто-то знает, как запустить эту функцию НЕ из main? Например: void Function() // Любая ф-ия, которая делает что угодно. (Пример) { cout << "Succeed!\n";
C++ САМАЯ БЫСТРАЯ сортировка! Теоретически и практически доказано, что сортировка OVERPOWER8 - самая быстрая в мире. Характеристика: Требуется памяти: 3*N Количество шагов в любом случае: 3*N Стабильная: ДА Метод: Замена Если не верите, то можете проверить: http://www.cyberforum.ru/cpp-beginners/thread88396.html
Функции C++
Составить программу вычисления данного выражения: y=(min(x+y,y)+min(x+z,y))/(1-min(x,z+0.2)) , где min(a,b)- функция нахождения наименьшего из двух чисел. В долгу не останусь!!!!
C++ Многопоточность C++
Как сделать так, чтобы эта программа заработала? А то она мне вот что пишет: g++ test.cpp -o test -lpthread ./test Segmentation fault #include <pthread.h>
C++ Составить программу, которая определяет углы треугольника со сторонами а, b, с. http://www.cyberforum.ru/cpp-beginners/thread87993.html
Тема: «Программирование с использованием функций» .Составить программу, которая определяет углы треугольника со сторонами а, b, с.
C++ Неправильная запись в файл #pragma hdrstop #pragma argsused #include <fstream> #include <iostream> #include <string> #include<sstream> using namespace std; /*Нахождение простых чисел с помощью решета Эратосфена*/ int* Sieve_of_Eratosthenes(int n) подробнее

Показать сообщение отдельно
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224

Как исправить данный код сортировки? - C++

22.01.2010, 12:25. Просмотров 646. Ответов 8
Метки (Все метки)

Вот только не надо никаких анализов, вопросов, и т. д.
Конкретно мой пример.

Программа на некоторых компиляторах не компилируется. Причем проблема вовсе не в переполнении стека - присвойте SIZE любое другое значение.
Если знаете, как исправить, то, пожалуйста, предложите свое решение.

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
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <stdlib.h>
using namespace std;
 
const int SIZE=2000000;
 
void sort(int arr[])
{
        int max=arr[0];
        
        int i;
        
        for(i=0; i<SIZE; i++)
                if(arr[i] > max)
                        max = arr[i];
        
        int* Sorted = new int[max+1];
        
        for(i=0; i<SIZE; i++)
                Sorted[arr[i]]+=1;
        
        int counter=0;
        
        for(i=0; i<=max; i++)
                while(Sorted[i])
                {
                        arr[counter++]=i;
                        Sorted[i]--;
                }
                
        delete [] Sorted;
}
 
int main()
{
        srand(time(0));
 
        int Max=2000000;
        
        int i, j;
        
        int array[SIZE];
        
        for(i=0; i<SIZE; i++)
                array[i]=rand()%Max+1;
                
        sort(array);
        
        cout << "Sorted!\n";
        
        /*
        for(i=0; i<SIZE; i++)
                cout << array[i] << " ";
        */
        
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru