Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1409 / 920 / 148
Регистрация: 02.01.2009
Сообщений: 2,749
Записей в блоге: 1
17.11.2009, 21:00 0

Ошибка, не знаю как исправить

17.11.2009, 21:00. Просмотров 840. Ответов 6
Метки (Все метки)

Ответ

Ну так попробуйте
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
//#include <windows.h>
//#include <time.h>
//#include <stdlib.h>
 
using namespace std;
 
template <typename T> void CountingSort(T *A, long n, long * comperisons, long * exchanges);
template <typename T, typename Func> bool Sort(Func funcSort, 
   T * A, long n, long * com, long * exc, long * time);
 
int main(void)
{
       // srand((unsigned) time(NULL));
        long N = 100000;
        long * A = new long[N];
        long com = 0;
        long exc = 0;
        long timet = 0;
        for(int i = 0; i < N; i++)
        {
                A[i] = i;//rand()%100000;
        }
        Sort(CountingSort<long>, A, N, &com, &exc, &timet);
        cout << com << "   " << exc << "   ";// << time;
}
 
template <typename T> void CountingSort (T *A, long n, long * comperisons, long * exchanges)
{
        T max = A[0];
        T min = A[0];
        for(int i = 0; i < n; i++)
        {
                if(A[i] > max) 
                {
                        (*comperisons)++;
                        max = A[i];
                }
                if(A[i] < min)
                {
                        (*comperisons)++;
                        min = A[i];
                }
        }
        int i, j; 
        T c;
        T *B = (T *)calloc(max - min + 1, sizeof(T));
        for (i = 0; i < n; i++) 
                ++B[A[i] - min];
        for (j = min; j <= max; ++j)
        {
                c = B[j - min];
                while (c > 0)
                {
                        *A = j; 
                        ++A; 
                        --c;
                }
        }
        free(B);
}
 
template <typename T, typename Func> bool Sort(Func funcSort, 
              T * A, long n, long * com, long * exc, long * time)
{
       // LARGE_INTEGER freq, t1, t2;
       // if(QueryPerformanceFrequency(&freq))
       // {
       //        QueryPerformanceCounter(&t1);
                funcSort(A, n, com, exc);
       //        QueryPerformanceCounter(&t2);
       //       time = 1000 * (t2.QuadPart - t1.QuadPart) / freq.QuadPart;
                return true;
       // }
       // else
       // {
       //        return false;
       //}
//}
}
http://codepad.org/6AxFM1C2

Вернуться к обсуждению:
Ошибка, не знаю как исправить
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2009, 21:00
Готовые ответы и решения:

Всплывает ошибка, не знаю как исправить
Во время компиляции (CodeBlocks) компилятор выдает ошибку: cannot open output file...

Ошибка при перегрузке оператора, не знаю как исправить
#pragma once #include &lt;iostream&gt; #include &lt;vector&gt; #define innerVectorType std::vector&lt;T&gt; ...

Не знаю как исправить ошибку
при выводе всего списка не выдает верную информацию. Не могу понять что не так, помогите. Заранее...

Не знаю как исправить ошибку
Всем привет! В общем делал задание на перегрузку операторов, вот код: #include &quot;stdafx.h&quot;...

Много ошибок и не знаю , как исправить
Вот они &lt; для вложений используйте встроенные возможности форума /&gt; , а вот сам код программы....

6
Другие темы раздела
C++ Определить количество четных элементов матрицы, расположенных на главной и побочной диаганалях http://www.cyberforum.ru/cpp-beginners/thread64746.html
Ввести матрицу размером NxM. Память для массива выделить динамически.Определить количество четных элементов, расположенных на главной и побочной диаганалях. Вывести на экран исходные данные и...
C++ Дырка с чтением строк Пытаюсь считать что-то наподобие абзаца: там есть и пробелы, и переводы строк. Но программа почему-то не воспринимает переводы строк и пробелы - читает только буквы и знаки. Вот код: char G;... http://www.cyberforum.ru/cpp-beginners/thread64742.html
C++ Отсортировать слова в строке по алфавиту
Здравствуйте!Мне задали в универе вот такую задачу: "Отсортировать слова в строке по алфавиту" Думал над ней долго и не могу понять следущее: Как из строки запомнить в переменные все слова, ведь...
Найти сумму чётных элементов матрицы, исключая максимальный или минимальный C++
Прошу у всех форумчан помощи в решении данной задачи: ввести целочисленный двумерный массив А (NxM), вывести его. Найти сумму его чётных элементов, исключая максимальный или минимальный (всего...
C++ String: Выведение слов, состоящих из цифр http://www.cyberforum.ru/cpp-beginners/thread64712.html
Задание такое: С клавы вводятся слова(могут быть просто символы написанные подряд) через пробел, на экран нужно вывести в невозрастающем порядке все слова, состоящие из цифры. Язык: Си Помогите...
C++ Сортировка заполнить массив1 случайными числами перенести все елементы больше нуля с массива1 в массив2 порозрядно отсортировать массив2 пример порозрядной сортировки видел но возникают проблемы с типами... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru