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

Динамический массив (найти ошибку) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсия. Вычислить значение суммы http://www.cyberforum.ru/cpp-beginners/thread810989.html
задание внутри помогите пожалуйста:cry::cry::cry:
C++ алгоритм Хафмана Всем привет, вот такой вопрос, делал архиватор методом Хафмана и наткнулся на такую проблему, что после декодирования не возвращается весь текст, в чем может быть проблема? vector<bool>code;//в нем храним двоичный код map<char,vector<bool>>table;//в карте будем ассициировать символ с КОДОМ //создадим бинарное дерево class Usel { public: http://www.cyberforum.ru/cpp-beginners/thread810988.html
Двоичный(бинарный) поиск C++
Столкнулся с такой проблемой. использую бинарный поиск в упорядоченном массиве чисел для поиска количества повторений нужного мне числа К примеру , есть массив чисел 0 1 2 2 2 3 Ищу сколько 2 в нем есть. Используя стандартный бинарный поиск мы находим 2 на 4 позиции и делим массив или на 0 1 2 или на 2 3 То есть и так и так в конце выдает что в массиве находится 2 двойки , что не есть...
C++ Промоделировать в консоли работу лифта
Помогите пожалуйста доделать программу модуляции лифта. Вот мой код: #include <iostream> #include <stdio.h> #include <locale.h> using namespace std; class lift { int ch_floor, f; // Выбор этажа
C++ Из первого множества выбрать три различные точки http://www.cyberforum.ru/cpp-beginners/thread810977.html
Даны два множества точек на плоскости. Из первого множества выбрать три различные точки так, чтобы треугольник с вершинами в этих точках содержал (строго внутри себя) равное количество точек первого и второго множеств. Завтра начну сам думать над задачей, если кто-то чем-то может помочь пишите, очень поможете.
C++ Некорректная запись кириллицы в файл Здравствуйте! Подскажите, пожалуйста, как можно исправить (и можно ли вообще) вот такую ошибку: 1) Вводим, например, вот такие данные: http://img13.imageshost.ru/img/2013/03/17/image_5145a6ec585ae.png 2) В файл записывается вот так: http://img13.imageshost.ru/img/2013/03/17/image_5145a70a39d61.png подробнее

Показать сообщение отдельно
Noooob
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 18
17.03.2013, 15:35     Динамический массив (найти ошибку)
Здравствуйте уважаемые знатоки!)
В общем программирую я не так давно и взялся написать динамический массив на основе связанного списка. Накатал вот такой быдлокодик

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
#include <stdexcept>
 
template <class Type> class List;
 
template <class Type>
class link
{
private:
    Type data;
    link* next;
 
    link* operator + (int n);
    
    friend std::ostream & operator << (std::ostream & out, link* l);
    friend class List<Type>;
};
template <class Type> link<Type>* link<Type>::operator+ (int n)
{
    link<Type>* current = this;
    for (int i = 0; i < n; ++i)
        current = current->next;
 
    return current;
}
template <class Type> std::ostream & operator << (std::ostream & out, link<Type>* l)
{
    out << l->data << " ";
    return out;
}
 
template <class Type>
class List
{
private:
    link<Type>* begin;
    int Size;
public:
    List(): begin(NULL), Size(0) {}
    ~List();
 
    Type & operator [] (int n);
    link<Type>* operator + (int n) { return *(this->begin) + n; }
    friend std::ostream & operator << (std::ostream &  out, List & l);
 
    void add(Type d);
    void erase(int n,int count = 1);
    bool is_empty() const { return Size ? true : false; }
};
template <class Type> List<Type>::~List()
{
    link<Type>* current = begin;
    for (int i = 0; i < Size; ++i)
    {
        link<Type>* next = current->next;
        delete current;
        current = next;
    }
    delete current;
}
template <class Type> std::ostream & operator << (std::ostream &  out, List<Type> & l)
{
    for (int i = 0; i < l.Size; ++i)
        out << l + i;
    return out;
}
template <class Type> Type & List<Type>::operator [] (int n)
{ 
    if (n < 0 || n >= Size)
        throw std::out_of_range("[]:out of range");
    return (*(this->begin) + n)->data; 
}
template <class Type> void List<Type>::add(Type d)
{
    link<Type>* newlink = new link<Type>;
    newlink->data = d;
    newlink->next = NULL;
 
    if (begin == NULL)
        begin = newlink;
    else
    {
        link<Type>* current = *begin + (Size - 1);
 
        current->next = newlink;
    }
 
    ++Size;
}
template <class Type> void List<Type>::erase(int n,int count)
{
    if (n + count - 1 < 0 || n + count - 1 >= Size)
        throw std::out_of_range("erase: out of range");
 
    link<Type>* current = *begin + n;
    link<Type>* prev = *begin + (n - 1);
    link<Type>* fin = *current + count;
        
    if (n == 0)
        begin = fin;
    else
        prev->next = fin;
        
    for (int i = 0; i < count; ++i)
    {
        link<Type>* next = current->next;
        delete current;
        current = next;
    }
 
    Size -= count;
}
Но при компиляции получаю следующую ошибку:
error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class List<int> &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$List@H@@@Z) в функции _main
1>c:\users\админ\documents\visual studio 2012\Projects\Проект66\Debug\Проект66.exe : fatal error LNK1120: неразрешенных внешних элементов: 1

Надеюсь поможете разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru