|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - набрал пример по книге, но он не работает |
|
C/C++ - набрал пример по книге, но он не работает
|
Пользователь Сообщения: 147 |
Профиль | Отправить PM | Цитировать
программа многоцелевой сортировки использующая указатели на функции
(mvs2008) //------------------------------------------------------- #include <iostream> #include <iomanip> void bubble(int *, const int, int(*)(int,int)); int ascending(const int,const int); int descending(const int, const int); int main() { setlocale(LC_ALL,".1251"); const int arraySize=10; int order, a[arraySize]={2,3,4,5,8,12,10,89,86,45}; std::cout<<"Введите 1 для сортировки в возрастающем порядке, \n Введите 2 для сортировки в убывающем порядке: "; std::cin>>order; std::cout<<"\nЭлементы в исходном порядке"<<std::endl; for(int i=0; i<arraySize; i++) std::cout<<std::setw(4)<<a[i]; std::cout<<std::endl; if(order==1) { bubble(a,arraySize, ascending); std::cout<<"Элементы данных в возрастающем порядке"<<std::endl; } else { bubble(a,arraySize,descending); std::cout<<"Элементы данных в убывающем порядке"<<std::endl; } for(int i=0; i<arraySize; i++) std::cout<<std::setw(4)<<a[i]; std::cout<<std::endl; system("pause"); return 0; } void bobble(int *work, const int size, int (*compare)(int,int)) { void swap(int *, int *); for(int pass=1; pass<size; pass++) for(int count=0; count<size-1; count++) if((*compare)(work[count],work[count+1])) swap(&work[count], &work[count+1]); } void swap(int *element1Ptr, int *element2Ptr) { int temp; temp=*element1Ptr; *element1Ptr=*element2Ptr; *element2Ptr=temp; } int ascending(const int a, const int b) { return b<a; } int descending(const int a, const int b) { return b>a; } 1>------ Построение начато: проект: программа_многоцелевой_сортировки, Конфигурация: Debug Win32 ------ 1>Компиляция... 1>unit.cpp 1>Компоновка... 1>unit.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl bubble(int *,int,int (__cdecl*)(int,int))" (?bubble@@YAXPAHHP6AHHH@Z@Z) в функции _main 1>C:\Documents and Settings\Admin\Мои документы\Visual Studio 2008\Projects\программа_многоцелевой_сортировки\Debug\программа_многоцелевой_сортировки.exe : fatal error LNK1120: 1 неразрешенных внешних элементов 1>Журнал построения был сохранен в "file://c:\Documents and Settings\Admin\Мои документы\Visual Studio 2008\Projects\программа_многоцелевой_сортировки\программа_многоцелевой_сортировки\Debug\BuildLog.htm " 1>программа_многоцелевой_сортировки - ошибок 2, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== в чем ошибка? |
|
Отправлено: 00:50, 22-06-2010 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать Drongo, вроде не упоминалось про вывод.
|
Отправлено: 22:38, 27-07-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать котвася, Прочти ещё раз внимательно, я ведь откуда-то нашёл же. Возможно в самом листинге кода в книге...
|
------- Отправлено: 23:18, 27-07-2010 | #12 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать Drongo нашел, но дальше по тексту. На то время еще не дочитал
|
Отправлено: 00:15, 28-07-2010 | #13 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать котвася, Отож, я примерно неделю на изучение глав и с получается так что с пятницы до воскресенья, решаю задания по книге после прочтения главы.
|
------- Отправлено: 16:01, 28-07-2010 | #14 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать Вот еще бы один пример.
//TSTACK.H //Простой шаблон класса Stack #ifndef TSTACK_H #define TSTACK_H #include <iostream> using namespace std; template <class T> class Stack { public: Stack(int = 10); ~Stack(){delete [] stackPtr;} int push(const T&); int pop(T&); int isEmpty()const {return top == -1;} int isFull() const {return top == size - 1;} private: int size; int top; T *stackPtr; }; #endif //TSTACK.CPP //Определение функций-элементов класса Stack #include "TStack.h" template <class T> Stack<T>::Stack(int s) { size = s > 0 && s < 1000 ? s : 10; top = -1; stackPtr = new T[new]; } template <class T> int Stack<T>::push(const T &item) { if(!isFull()) { stackPtr[++top] = item; return 1; } return 0; } template <class T> int Stack<T>::pop(T &popValue) { if(!isEmpty()) { popValue = stackPtr[top--]; return 1; } return 0; } //MAIN.CPP #include <iostream> #include "TStack.h" int main() { setlocale(LC_ALL, ".1251"); Stack<float> floatStack(5); float f = 1.1; cout << "Размещение элементов в floatStack" << endl; while(floatStack.push(f)) { cout << f << ' '; f +=1.1; } cout << endl << "Стек заполнен. Невозможно разместить " << f << endl << endl << "Выталкивание элементов из floatStack" << endl; while(floatStack.pop(f)) cout << f << ' '; cout << endl << "Стек пуст. Больше нечего вытолкнуть невозможно" << endl; Stack<int> intStack(5); int i = 1; cout << "Размещение элементов в floatStack" << endl; while(intStack.push(i)) { cout << i << ' '; i++; } cout << endl << "Стек заполнен. Невозможно разместить " << i << endl << endl << "Выталкивание элементов из floatStack" << endl; while(intStack.pop(i)) cout << i << ' '; cout << endl << "Стек пуст. Больше нечего вытолкнуть невозможно" << endl; system("pause"); return 0; } 1>------ Построение начато: проект: Stack, Конфигурация: Debug Win32 ------ 1>Компиляция... 1>main.cpp 1>c:\$p\mvs\{как программировать на с++}\сотировка_пузырек_сlass\сотировка_пузырек_сlass\main.cpp(11) : warning C4305: инициализация: усечение из 'double' к 'float' 1>c:\$p\mvs\{как программировать на с++}\сотировка_пузырек_сlass\сотировка_пузырек_сlass\main.cpp(17) : warning C4305: +=: усечение из 'double' к 'float' 1>Создание кода... 1>Пропуск... (изменения не обнаружены) 1>TStack.cpp 1>Компоновка... 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Stack<int>::pop(int &)" (?pop@?$Stack@H@@QAEHAAH@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Stack<int>::push(int const &)" (?push@?$Stack@H@@QAEHABH@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Stack<int>::Stack<int>(int)" (??0?$Stack@H@@QAE@H@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Stack<float>::pop(float &)" (?pop@?$Stack@M@@QAEHAAM@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Stack<float>::push(float const &)" (?push@?$Stack@M@@QAEHABM@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Stack<float>::Stack<float>(int)" (??0?$Stack@M@@QAE@H@Z) в функции _main 1>C:\$p\mvs\{как программировать на с++}\Сотировка_пузырек_Сlass\Debug\Stack.exe : fatal error LNK1120: 6 неразрешенных внешних элементов 1>Журнал построения был сохранен в "file://c:\$p\mvs\{как программировать на с++}\Сотировка_пузырек_Сlass\Сотировка_пузырек_Сlass\Debug\BuildLog.htm" 1>Stack - ошибок 7, предупреждений 2 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== |
Отправлено: 22:59, 10-08-2010 | #15 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать странно но решил
|
Отправлено: 12:40, 11-08-2010 | #16 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [Outlook] Отсортировать список контактов в Адресной книге | Gangabass | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 18-08-2009 08:28 | |
Exchenge-дубликаты в адресной книге | IV@one | Microsoft Exchange Server | 2 | 31-10-2007 09:50 | |
MS Exchange Формат Записей в Адресной Книге | Loki3D | Microsoft Exchange Server | 1 | 27-11-2006 12:37 | |
[решено] C/C++ | Задание в книге по С | Grekalov | Программирование и базы данных | 2 | 13-08-2006 13:58 | |
Пример документа | Umka | Вебмастеру | 2 | 25-11-2005 23:03 |
|