Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264

Нужно незначительно исправить код

09.04.2020, 18:47. Показов 3013. Ответов 38

Студворк — интернет-сервис помощи студентам
В ниже представленном коде всё правильно, нужно только чуть исправить.
Код удаляет элементы заканчивающиеся на 5.
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include<iostream>
 
using namespace std;
 
struct Node
{   
    Node() : ptr(NULL) {}
    int   field;
    Node * ptr;
};
    
bool isEmpty(Node * p)
{   
     return p->ptr == NULL;
}
 
Node* Next(Node * p, Node* node)
{   
    if (isEmpty(p)) 
        return NULL;
        
    return node->ptr;
}
 
Node* Prev(Node * p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
        
    Node *cp = p->ptr;
    while (cp->ptr != node)
        cp = cp->ptr;
    return cp;
}
 
Node* Add(Node * p, int num, Node* node = NULL)
{   
    Node *elem = new Node();
    elem->field = num;
    if (node == NULL)
    {   
        if (p->ptr == NULL)
        {  
            elem->ptr = NULL;
            p->ptr = elem;
        }
        else
        {   
            elem->ptr = p->ptr;
            p->ptr = elem;
        }
        return elem;
    }
    elem->ptr = node->ptr;
    node->ptr = elem;
    return elem;
}
 
Node* Delete(Node * p, Node* node)
{   
    if (node == NULL)
    {   
        return NULL;
    }
    if (node == p->ptr)
    {   
        p->ptr = node->ptr;
        delete node;
        return p->ptr;
    }
    Node* prev = Prev(p, node);
    prev->ptr = node->ptr;
    delete node;
    return prev;
}
 
Node* getLast(Node * p)
{   Node* cp = p->ptr;
    while (Next(p, cp) != NULL)
        cp = Next(p, cp);
    return cp;
}
 
void Clear(Node * p)
{   
    Node *cp = p->ptr;
    if (cp == NULL)
        return;
    do
    {   
        Node *d = cp;
        cp = Next(p, cp);
        delete d;
    }
    while (cp != NULL);
    p->ptr = NULL;
}
 
void Print(Node * p)
{   
    if (isEmpty(p))
    {   
        cout << "The list is empty" << endl;
        return;
    }
    Node *cp = p->ptr;
    while (cp != NULL)
    {   
        cout << cp->field << " ";
        cp = Next(p, cp);
    }
    cout << endl;
}
 
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; cp = Next(p, cp))
    {   
        if(cp->field % 10 == measure)
        {
             cp = Delete(p, cp);
        }
    }
    return 0;
}
 
int main()
{
    cout << "Create a list\n";
    
    Node list;
    
    Print(&list);
 
    int N;
    cout <<"Enter the number of items: ";
    cin>>N;
    for (int i = 0; i < N; i++)
    {   int z;
        cout << "Number "<< i+1 <<": ";
        cin>>z;
        Add(&list, z);
    }
    cout << '\n';
    
    Print(&list);
 
    delete_value(&list, 5);
 
    cout << "\nResult: \n";
    Print(&list);
}
В закреплённом скриншоте я вводил цифры: 5 16 55 1, а код мне выводит 1 55 16 5.
Надо чтобы выводило 5 16 55 1 вместо 1 55 16 5
Миниатюры
Нужно незначительно исправить код  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2020, 18:47
Ответы с готовыми решениями:

Нужно исправить код
Нужно исправить код.Не могу понять в чём ошибка. Не выводит ничего в файл. #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Нужно исправить код
#include &lt;iostream&gt; using namespace std; int main () { setlocale(LC_ALL,&quot;rus&quot;); int n,a; int i=0,j=0; ...

Нужно исправить код
Нужно исправить код. Ошибку выдаёт. #include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; int main() { double x,y,b; ...

38
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 13:42  [ТС]
Студворк — интернет-сервис помощи студентам
oleg-m1973, Этот участок кода не трогать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; )
    {   
        if (cp->field % 10 == measure)
        {
            Node* cp2 = cp;
            cp = Next(p, cp);
            Delete(p, cp2);
        }
        else
            cp = Next(p, cp);
    }
    return 0;
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 13:42
Цитата Сообщение от kitkat1000 Посмотреть сообщение
oleg-m1973, Этот участок кода не трогать?
Остальное оставь
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 14:09  [ТС]
oleg-m1973, Новое замечание преподавателя:
void Print(Node * p){

.......
Node *cp = p->ptr;

....}

почему пропускается первый элемент стека и не выводится его содержимое?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 14:18
Цитата Сообщение от kitkat1000 Посмотреть сообщение
почему пропускается первый элемент стека и не выводится его содержимое?
У тебя сделано слегка неправильно, но, в принципе корректно.
Здесь лучше бы сделать структуру
C++
1
2
3
4
5
6
7
struct List
{
    Node *ptr;
};
 
//Node list;
List list;
И первым параметром во все функции передавать ссылку на него
C++
1
2
3
4
5
6
void Print(List &list){
 
.......
Node *cp = list.ptr;
 
....}
Добавлено через 40 секунд
Ты вместо него использовал Node. Коряво, но сойдёт
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
10.04.2020, 14:25
Цитата Сообщение от kitkat1000 Посмотреть сообщение
почему пропускается первый элемент стека и не выводится его содержимое?
Потому что это не первый элемент на самом деле, а фиктивный узел, обозначающий сам список. Это довольно кривое решение, но оно оно соответствует тому, что вы спрашивали в своей предыдущей теме.

Вам бы надо самостоятельно это все писать, а не пытаться переделывать готовые решения. Неужели вам не интересно самостоятельно это осилить? Задание в целом не такое уж и трудное. Зачем вы тогда учитесь программированию? Я спрашиваю без всякого злорадства, у меня вызывает недоумение просто ваш подход. Это все равно, что пойти в художественную школу, при этом совершенно не желая рисовать самостоятельно.
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 14:41  [ТС]
DrOffset, я учусь на дому. Преподавать не желает объяснить всё мне, а говорит загадками.
Я эту тему не понимаю вот прошу помощи

Добавлено через 1 минуту
oleg-m1973, куча ошибок появилось
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include<iostream>
 
using namespace std;
 
struct List
{
    Node *ptr;
};
 
List list;
    
bool isEmpty(Node * p)
{   
     return p->ptr == NULL;
}
 
Node* Next(Node * p, Node* node)
{   
    if (isEmpty(p)) 
        return NULL;
        
    return node->ptr;
}
 
Node* Prev(Node * p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
        
    Node *cp = list.ptr;
    while (cp->ptr != node)
        cp = cp->ptr;
    return cp;
}
 
Node* Add(Node * p, int num, Node* node = NULL)
{   
    Node *elem = new Node();
    elem->field = num;
    if (node == NULL)
    {
        {   
            elem->ptr = p->ptr;
            p->ptr = elem;
        }
        return elem;
    }
    elem->ptr = node->ptr;
    node->ptr = elem;
    return elem;
}
 
Node* Delete(Node * p, Node* node)
{   
    if (node == NULL)
    {   
        return NULL;
    }
    if (node == p->ptr)
    {   
        p->ptr = node->ptr;
        delete node;
        return p->ptr;
    }
    Node* prev = Prev(p, node);
    prev->ptr = node->ptr;
    delete node;
    return prev;
}
 
Node* getLast(Node * p)
{   Node* cp = p->ptr;
    while (Next(p, cp) != NULL)
        cp = Next(p, cp);
    return cp;
}
 
void Clear(Node * p)
{   
    Node *cp = p->ptr;
    if (cp == NULL)
        return;
    do
    {   
        Node *d = cp;
        cp = Next(p, cp);
        delete d;
    }
    while (cp != NULL);
    p->ptr = NULL;
}
 
void Print(List &list)
{   
    if (isEmpty(p))
    {   
        cout << "The list is empty" << endl;
        return;
    }
    Node *cp = p->ptr;
    while (cp != NULL)
    {   
        cout << cp->field << " ";
        cp = Next(p, cp);
    }
    cout << endl;
}
 
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; )
    {   
        if (cp->field % 10 == measure)
        {
            Node* cp2 = cp;
            cp = Next(p, cp);
            Delete(p, cp2);
        }
        else
            cp = Next(p, cp);
    }
    return 0;
}
 
int main()
{
    cout << "Create a list\n";
    
    Node list;
    
    Print(&list);
 
    int N;
    cout <<"Enter the number of items: ";
    cin>>N;
    for (int i = 0; i < N; i++)
    {   int z;
        cout << "Number "<< i+1 <<": ";
        cin>>z;
        Add(&list, z);
    }
    cout << '\n';
    
    Print(&list);
 
    delete_value(&list, 5);
 
    cout << "\nResult: \n";
    Print(&list);
    Clear(&list);
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 14:45
Цитата Сообщение от kitkat1000 Посмотреть сообщение
oleg-m1973, куча ошибок появилось
Класс Node оставь. Зачем ты его удалил?
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 14:54  [ТС]
oleg-m1973, здесь не было класса Node
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 14:55
Цитата Сообщение от kitkat1000 Посмотреть сообщение
oleg-m1973, здесь не было класса Node
struct Node - это и есть класс
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 15:05  [ТС]
oleg-m1973,
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include<iostream>
 
using namespace std;
 
struct Node
{   
    Node() : ptr(NULL) {}
    int   field;
    Node * ptr;
};
 
struct List
{
    Node *ptr;
};
 
List list;
    
bool isEmpty(Node * p)
{   
     return p->ptr == NULL;
}
 
Node* Next(Node * p, Node* node)
{   
    if (isEmpty(p)) 
        return NULL;
        
    return node->ptr;
}
 
Node* Prev(Node * p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
        
    Node *cp = list.ptr;
    while (cp->ptr != node)
        cp = cp->ptr;
    return cp;
}
 
Node* Add(Node * p, int num, Node* node = NULL)
{   
    Node *elem = new Node();
    elem->field = num;
    if (node == NULL)
    {
        {   
            elem->ptr = p->ptr;
            p->ptr = elem;
        }
        return elem;
    }
    elem->ptr = node->ptr;
    node->ptr = elem;
    return elem;
}
 
Node* Delete(Node * p, Node* node)
{   
    if (node == NULL)
    {   
        return NULL;
    }
    if (node == p->ptr)
    {   
        p->ptr = node->ptr;
        delete node;
        return p->ptr;
    }
    Node* prev = Prev(p, node);
    prev->ptr = node->ptr;
    delete node;
    return prev;
}
 
Node* getLast(Node * p)
{   Node* cp = p->ptr;
    while (Next(p, cp) != NULL)
        cp = Next(p, cp);
    return cp;
}
 
void Clear(Node * p)
{   
    Node *cp = p->ptr;
    if (cp == NULL)
        return;
    do
    {   
        Node *d = cp;
        cp = Next(p, cp);
        delete d;
    }
    while (cp != NULL);
    p->ptr = NULL;
}
 
void Print(List &list)
{   
    if (isEmpty(p))
    {   
        cout << "The list is empty" << endl;
        return;
    }
    Node *cp = p->ptr;
    while (cp != NULL)
    {   
        cout << cp->field << " ";
        cp = Next(p, cp);
    }
    cout << endl;
}
 
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; )
    {   
        if (cp->field % 10 == measure)
        {
            Node* cp2 = cp;
            cp = Next(p, cp);
            Delete(p, cp2);
        }
        else
            cp = Next(p, cp);
    }
    return 0;
}
 
int main()
{
    cout << "Create a list\n";
    
    Node list;
    
    Print(&list);
 
    int N;
    cout <<"Enter the number of items: ";
    cin>>N;
    for (int i = 0; i < N; i++)
    {   int z;
        cout << "Number "<< i+1 <<": ";
        cin>>z;
        Add(&list, z);
    }
    cout << '\n';
    
    Print(&list);
 
    delete_value(&list, 5);
 
    cout << "\nResult: \n";
    Print(&list);
    Clear(&list);
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 15:08
Цитата Сообщение от kitkat1000 Посмотреть сообщение
cout << "Create a list\n";
Node list;
List list = {0};

Добавлено через 54 секунды
Цитата Сообщение от kitkat1000 Посмотреть сообщение
void Print(List &list)
void Print(List *p)
Во всех остальных функциях первый параметр тоже замени на List *p, вместо Node *p
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 15:13  [ТС]
oleg-m1973,
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include<iostream>
 
using namespace std;
 
struct Node
{   
    Node() : ptr(NULL) {}
    int   field;
    Node * ptr;
};
 
struct List
{
    Node *ptr;
};
 
List list;
    
bool isEmpty(Node * p)
{   
     return p->ptr == NULL;
}
 
Node* Next(Node * p, Node* node)
{   
    if (isEmpty(p)) 
        return NULL;
        
    return node->ptr;
}
 
Node* Prev(Node * p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
        
    Node *cp = list.ptr;
    while (cp->ptr != node)
        cp = cp->ptr;
    return cp;
}
 
Node* Add(Node * p, int num, Node* node = NULL)
{   
    Node *elem = new Node();
    elem->field = num;
    if (node == NULL)
    {
        {   
            elem->ptr = p->ptr;
            p->ptr = elem;
        }
        return elem;
    }
    elem->ptr = node->ptr;
    node->ptr = elem;
    return elem;
}
 
Node* Delete(Node * p, Node* node)
{   
    if (node == NULL)
    {   
        return NULL;
    }
    if (node == p->ptr)
    {   
        p->ptr = node->ptr;
        delete node;
        return p->ptr;
    }
    Node* prev = Prev(p, node);
    prev->ptr = node->ptr;
    delete node;
    return prev;
}
 
Node* getLast(Node * p)
{   Node* cp = p->ptr;
    while (Next(p, cp) != NULL)
        cp = Next(p, cp);
    return cp;
}
 
void Clear(Node * p)
{   
    Node *cp = p->ptr;
    if (cp == NULL)
        return;
    do
    {   
        Node *d = cp;
        cp = Next(p, cp);
        delete d;
    }
    while (cp != NULL);
    p->ptr = NULL;
}
 
void Print(List &list)
{   
    if (isEmpty(p))
    {   
        cout << "The list is empty" << endl;
        return;
    }
    Node *cp = p->ptr;
    while (cp != NULL)
    {   
        cout << cp->field << " ";
        cp = Next(p, cp);
    }
    cout << endl;
}
 
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; )
    {   
        if (cp->field % 10 == measure)
        {
            Node* cp2 = cp;
            cp = Next(p, cp);
            Delete(p, cp2);
        }
        else
            cp = Next(p, cp);
    }
    return 0;
}
 
int main()
{
    cout << "Create a list\n";
    
    List list = {0};
    
    Print(&list);
 
    int N;
    cout <<"Enter the number of items: ";
    cin>>N;
    for (int i = 0; i < N; i++)
    {   int z;
        cout << "Number "<< i+1 <<": ";
        cin>>z;
        Add(&list, z);
    }
    cout << '\n';
    
    Print(&list);
 
    delete_value(&list, 5);
 
    cout << "\nResult: \n";
    Print(&list);
    Clear(&list);
}
Добавлено через 34 секунды
всё ровно есть ошибки
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 15:14
Цитата Сообщение от kitkat1000 Посмотреть сообщение
всё ровно есть ошибки
Ты вот это сделал?
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
void Print(List *p)
Во всех остальных функциях первый параметр тоже замени на List *p, вместо Node *p
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 15:21  [ТС]
oleg-m1973, да сделал
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include<iostream>
 
using namespace std;
 
struct Node
{   
    Node() : ptr(NULL) {}
    int   field;
    Node * ptr;
};
 
struct List
{
    Node *ptr;
};
 
List list;
    
bool isEmpty(List *p)
{   
     return p->ptr == NULL;
}
 
Node* Next(List *p, Node* node)
{   
    if (isEmpty(p)) 
        return NULL;
        
    return node->ptr;
}
 
Node* Prev(List *p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
        
    Node *cp = list.ptr;
    while (cp->ptr != node)
        cp = cp->ptr;
    return cp;
}
 
Node* Add(List *p, int num, Node* node = NULL)
{   
    Node *elem = new Node();
    elem->field = num;
    if (node == NULL)
    {
        {   
            elem->ptr = p->ptr;
            p->ptr = elem;
        }
        return elem;
    }
    elem->ptr = node->ptr;
    node->ptr = elem;
    return elem;
}
 
Node* Delete(List *p, Node* node)
{   
    if (node == NULL)
    {   
        return NULL;
    }
    if (node == p->ptr)
    {   
        p->ptr = node->ptr;
        delete node;
        return p->ptr;
    }
    Node* prev = Prev(p, node);
    prev->ptr = node->ptr;
    delete node;
    return prev;
}
 
Node* getLast(List *p)
{   Node* cp = p->ptr;
    while (Next(p, cp) != NULL)
        cp = Next(p, cp);
    return cp;
}
 
void Clear(List *p)
{   
    Node *cp = p->ptr;
    if (cp == NULL)
        return;
    do
    {   
        Node *d = cp;
        cp = Next(p, cp);
        delete d;
    }
    while (cp != NULL);
    p->ptr = NULL;
}
 
void Print(List *p)
{   
    if (isEmpty(p))
    {   
        cout << "The list is empty" << endl;
        return;
    }
    Node *cp = p->ptr;
    while (cp != NULL)
    {   
        cout << cp->field << " ";
        cp = Next(p, cp);
    }
    cout << endl;
}
 
int delete_value(Node * p, const int measure)
{   
    for(Node* cp = p->ptr; cp; )
    {   
        if (cp->field % 10 == measure)
        {
            Node* cp2 = cp;
            cp = Next(p, cp);
            Delete(p, cp2);
        }
        else
            cp = Next(p, cp);
    }
    return 0;
}
 
int main()
{
    cout << "Create a list\n";
    
    List list = {0};
    
    Print(&list);
 
    int N;
    cout <<"Enter the number of items: ";
    cin>>N;
    for (int i = 0; i < N; i++)
    {   int z;
        cout << "Number "<< i+1 <<": ";
        cin>>z;
        Add(&list, z);
    }
    cout << '\n';
    
    Print(&list);
 
    delete_value(&list, 5);
 
    cout << "\nResult: \n";
    Print(&list);
    Clear(&list);
}
Но всё ровно ошибки есть
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 15:26
Цитата Сообщение от kitkat1000 Посмотреть сообщение
struct List
{
    Node *ptr;
};
List list;
bool isEmpty(List *p)
Убери здесь List list;

Добавлено через 1 минуту
Цитата Сообщение от kitkat1000 Посмотреть сообщение
Node* Prev(List *p, Node* node)
{   if (isEmpty(p))
        return NULL;
    if (node == p->ptr)
        return NULL;
Node *cp = list.ptr;
Node *cp = p->ptr

Добавлено через 1 минуту
Цитата Сообщение от kitkat1000 Посмотреть сообщение
int delete_value(Node * p, const int measure)
Не поменял
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
10.04.2020, 15:31  [ТС]
oleg-m1973,
C++
1
2
3
4
5
6
7
8
9
10
11
struct Node
{   
    Node() : ptr(NULL) {}
    int   field;
    Node * ptr;
};
 
struct List
{
    Node *ptr;
};
Две структуры оставлять или можно одну удалить?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
10.04.2020, 15:32
Цитата Сообщение от kitkat1000 Посмотреть сообщение
Две структуры оставлять или можно одну удалить?
Две оставлять
0
4 / 3 / 0
Регистрация: 12.01.2020
Сообщений: 264
12.04.2020, 16:29  [ТС]
oleg-m1973, Добрый день, у меня не принимают это задание. Может я вам скину задание, а вы сделаете? У меня просто уже нету сил. А разберусь с решённым заданием сам
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
12.04.2020, 16:40
kitkat1000, а тебе не приходило в голову, что задание не принимают, потому что ты его не сам делал? Если oleg-m1973 сейчас его тебе сделает с нуля, то будет то же самое. Ты ведь поплывешь опять на вопросах препода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2020, 16:40

Исправить код нужно
Программа должна рандомно выдавать фразу или цитату. #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; using...

Нужно исправить код
Здравствуйте. Я занимаюсь по книге и в задании привели не сосем правильный код. Привожу; #include &lt;iostream&gt; using...

ERROR нужно исправить код
у меня есть код (вычисление определителя матрицы) но он выдает ошибку... &quot;error :: 'main' must return 'int' &quot; помогите кто-нибудь...

нужно дополнить - исправить код
Понимаю, что задач вроде не сложная, но никак не получается переделать код. Я решил задачу , которую выкладывал ниже, про кол-во...

Нужно немного исправить код
{ifstream in(&quot;1.txt&quot;); in &gt;&gt; n &gt;&gt; m; a = new int*; for (int i = 0; i &lt; n; ++i) { a = new int; for (int j = 0; j &lt; m; ++j) in...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru