Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 3
Регистрация: 04.06.2013
Сообщений: 48
1

Список (найти ошибку в коде)

09.06.2013, 20:13. Показов 417. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему компилируется программа?
Вот эта функция:
C++
1
2
3
4
5
6
List::node* seach(T el)
    {
        for(node* p = head->next; p != NULL; p = p->next)
            if(p->item == el) return p;
        return NULL;
    }
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <iostream>
 
using namespace std;
 
template<class T>
class List
{
public:
    List()
    {
        count = 0;
        head = new (node);
        head->next = NULL;
        head->prev = NULL;
    }
 
    ~List()
    {
        node *p, *p1;
        p = head;
        p1 = p->next;
        while(p1 != NULL)
        {
            p = p1;
            p1 = p1->next;
            delete p;
        }
        delete head;
    }
 
    bool empty()
    {
        if(head->next == NULL)
            return true;
        return false;
    }
 
    void pop_back()
    {
        count--;
        node *p, *p1;
        p = last;
        p1 = last->prev;
        else
        {
            p1->next = NULL;
            delete p;
            last = p1;
        }
    }
 
    void push_back(T el)
    {
        count++;
        node *p;
        p = new (node);
        p->item = el;
        if(head->next == NULL)
        {
            head->next = p;
            p->next = NULL;
            p->prev = head;
            last = p;
        }else{
            p->next = NULL;
            last->next = p;
            p->prev = last;
            last = p;
        }
    }
 
    void push_front(T el)
    {
        node *p, *p1;
        p = new (node);
        p->item = el;
 
        if(head->next == NULL){
            head->next = p;
            p->next = NULL;
            p->prev = head;
            last = p;
        }else{
            p->next = head->next;
            p->next->prev = p;
            head->next = p;
            p->prev = head;
        }
    }
 
    void print()
    {
        for(node* p = head->next; p != NULL; p = p->next)
            cout<<p->item<< " ";
        cout<<std::endl;
    }
 
    void clear()
    {
        node *p, *p1;
        p = front;
        p1 = p->next;
        while(p1 != NULL)
        {
            p = p1;
            p1 = p1->next;
            delete p;
        }
    }
    T front(){return head->next->item;}
    int size(){return count;}
 
    List::node* seach(T el)
    {
        for(node* p = head->next; p != NULL; p = p->next)
            if(p->item == el) return p;
        return NULL;
    }
private:
    int count;
    class node
    {
    public:
        T item;
        node* prev;
        node* next;
    }*head,*last;
};
 
int main()
{}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2013, 20:13
Ответы с готовыми решениями:

Динамический список строк. Найти ошибку в коде
#include &lt;iostream&gt; #include &lt;list&gt; // подключаем заголовок списка // заголовок итераторов...

Список через классы - найти ошибку в коде
Поглядите где накосячено? Никак не пойму, не вводит/выводит. // Определения класса Элемента ...

Список в списке - исправить ошибку в коде
Проблема: При заполнении внутреннего списка ругается на &quot;p-&gt;prev2-&gt;next=p-&gt;p2;&quot; Что я делаю не...

Двумерный массив. Поиск нулей.Не могу найти ошибку ошибку в коде
Вот,например массив 5 5 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 считываются два...

1
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.06.2013, 20:26 2
S_O_A_D, поместите объявление класса node раньше, чем создаете функцию этого типа.
1
09.06.2013, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2013, 20:26
Помогаю со студенческими работами здесь

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; ...

Помогите найти ошибку в коде. Найти сумму ряда
Добрый день, помогите найти ошибку. Задача: Найти сумму ряда, вычисление ввести до тех пор пока...

Найти ошибку в коде
подскажите где ошибка?

Найти ошибку в коде
Код крашится, кто знает в чем дело? Может протестировать чем - то?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru