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

6-я глава книги "Фундаментальные алгоритмы C++" Роберта Седжвика - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переделать программу из C# в C++ http://www.cyberforum.ru/cpp-beginners/thread590982.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace слияние {
C++ задача про багаж с другими условиями! Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет... http://www.cyberforum.ru/cpp-beginners/thread590981.html
C++ компилирование с /clr
нашел пример функции чтения из файла http://msdn.microsoft.com/ru-ru/library/y52yxde8.aspx и он не компилится.. в опциях меняю на Common Language Runtime Support (/clr) и получаю ...
C++ Указатели на функции c интегралом
Составить функцию, которая по формуле I\approx h\left(\frac{f(a)}{2}+f(a+h)+f(a+2h)+...+f(a+(n-1)h)+\frac{f(b)}{2} \right), где n фиксировано h=\frac{b-a}{n} вычисляет значение определённого...
C++ Как в консоли поменять ширину экрана программно? http://www.cyberforum.ru/cpp-beginners/thread590957.html
как программно задать ширину консоли
C++ Исчисление суммы, количества элементов массива, удовлетворяющих заданным условиям В одномерном массиве содержатся только два одинаковых элемента. Найдите их. подробнее

Показать сообщение отдельно
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 107

6-я глава книги "Фундаментальные алгоритмы C++" Роберта Седжвика - C++

30.05.2012, 01:42. Просмотров 2157. Ответов 29
Метки (Все метки)

Разбираю 6-ю главу книги Роберт Седжвик: Фундаментальные алгоритмы C++. Части 1-4
Расматриваются простые методы сортировки, любых типов данных.
http://www.proklondike.com/books/cpp...l_algo1_4.html

В листингах 6.1-6.5 представлены методы сортировок, а в листингах 6.6-6.10 преставлена клиентская программа для любых типов данных типа Item.
В общем переписал вроде все правильно но выдает несколько ошибок типо:
" error LNK2019: unresolved external symbol "void __cdecl show<struct record>(struct record * const,int,int)" (??$show@Urecord@@@@YAXQAUrecord@@HH@Z) referenced in function _main c:\Users\Toha\documents\visual studio 2010\Projects\RobertSedjvik2\RobertSedjvik2\MainDriver.obj"

MainDriver.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <iostream>
#include "Array.h"
#include "exch.h"
#include "Item.h"
using namespace std;
 
void main(int argc, char *argv[])
 
{ int N = atoi(argv[1]), sw = atoi (argv[2]);
 
 
    Item *a = new Item[N];
    if (sw) rand(a, N); else scan(a,N);
    sort(a, 0, N-1);
    show(a, 0, N-1);
}
OrgfunckArray.cpp
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
#include <iostream>
#include <stdlib.h>
#include "Array.h"
template <class Item>
void rand(Item a[], int N)
{ for (int i=0; i<N; i++) rand(a[i]);}
template <class Item>
 void scan(Item a[], int &N)
 { for (int i=0; i <N; i++)
    if (!scan(a[i])) break;
 N =i;
 
 }
 template <class Item>
 void show (Item a[],int l, int r)
 {for (int i=l; i<=r; i++)
 show(a[i]);
 cout << endl;
 }
 template <class Item>
 void sort(Item a[], int l, int r){
     for (int i=l; i<r; i++){
         int f=0;
         for(int j=r; j>i; j--)
             f+=compexch(a[j-1], a[j]);
         for(int j=i+2;j<=r;j++)
             f+=compexch(a[j-1], a[j]);
         if (f==0)break;
     }
 }
exchange.cpp
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <stdlib.h>
template <class Item>
void exch (Item &A, Item &B)
{Item t = A; A= B; B=t;}
template <class Item>
 int compexch (Item &A,Item &B)
 { if (B < A) {exch(A, B); return 1;}else return 0; }
Itemcpp.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<stdlib.h>
#include "Item.h"
using namespace std;
int operator<(const Item& A, const Item& B)
{return A.key< B.key;}
int scan (Item& x)
{  
return (cin>>x.key>>x.info) !=0;}
void rand(Item& x)
{x.key = 1000*(1.0*rand()/100);
x.info=1.0 *rand()/100;}
void show (const Item x)
{cout <<x.key<<" "<<x.info<<endl; }
Array.h
C++
1
2
3
4
5
6
7
8
template <class Item>
void rand(Item a[], int N);
template <class Item>
void scan(Item a[], int &N);
template <class Item>
void show(Item a[], int l, int r);
template <class Item>
void sort (Item a[], int l, int r);
exch.h
C++
1
2
3
4
template <class Item>
void exch (Item &A, Item &B);
template <class Item>
 int compexch (Item &A,Item &B);
Item.h
C++
1
2
3
4
5
6
typedef struct record { int key; float info;} Item;
int operator <(const Item&, const Item&);
int scan(Item&);
void rand (Item&);
void show (const Item&);
using namespace std;
Подскажите пожалуйсто что не так?????? очень надо разобратся как это работает, и вообще... У меня экзамен в воскресенье.
Зы: Если что не так, я все исправлю, мы люди не месные и тп ).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru