(С++) Подскажите в чем ошибка
Алексей Аносов

Программа должна удалять из связанного списка N элементов заданное число num.
При запуске последний цикл вообще не срабатывает.

include <iostream>

using namespace std;

int main()
{
struct list {
int info;
list* next;
};

list* root = NULL;
list* p;
int N = 10;
int num;
list* del_p;
for (int i = 1; i <= N; i++) {
    if (root == NULL) {
        p = new list;
        p->info = rand()%100;
        p->next = NULL;
        root = p;
    }
    else {
        p = new list;
        p->info = rand()%100;
        p->next = root;
        root = p;
    }
}
p = root;
for (int i = 1; i <= N; i++) {
    cout << p->info << ' ';
    p = p->next;
}

cout << "\nВведтете число, которые следует удалить: ";
cin >> num;

p = root;
for (int i = 1; i <= N; i++) {
    del_p = p->next;
    if (del_p->info == num) {
        p->next = del_p->next;
        delete del_p;
        N--;
    }
    cout << del_p->info << ' ';
    p = p->next;
}
return 0;

}Программа должна удалять из связанного списка N элементов заданное число num.
При запуске последний цикл вообще не срабатывает.

include <iostream>

using namespace std;

int main()
{
struct list {
int info;
list* next;
};

list* root = NULL;
list* p;
int N = 10;
int num;
list* del_p;
for (int i = 1; i <= N; i++) {
    if (root == NULL) {
        p = new list;
        p->info = rand()%100;
        p->next = NULL;
        root = p;
    }
    else {
        p = new list;
        p->info = rand()%100;
        p->next = root;
        root = p;
    }
}
p = root;
for (int i = 1; i <= N; i++) {
    cout << p->info << ' ';
    p = p->next;
}

cout << "\nВведтете число, которые следует удалить: ";
cin >> num;

p = root;
for (int i = 1; i <= N; i++) {
    del_p = p->next;
    if (del_p->info == num) {
        p->next = del_p->next;
        delete del_p;
        N--;
    }
    cout << del_p->info << ' ';
    p = p->next;
}
return 0;

}

2 чел.