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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pein95
3 / 3 / 0
Регистрация: 02.01.2013
Сообщений: 116
#1

Удалить элемент из списка - C++

28.01.2013, 03:55. Просмотров 559. Ответов 1
Метки нет (Все метки)

Нужно удалить елемент из списка. Вот написал такую ф-ю. Но она почему то вылетает. Буду очень благодарен если поможете))

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
void del_el(Item &list)
{
    Item *p = new Item;
    Item *pp = new Item;
    short dva=0;
    p = &list;
    do
    {
        pp = p;
        for (int i=0; i<5; i++)
        {
            cout <<  "res = "<<  p->element.exams[i] << " ";
            if (p->element.exams[i] == 2)
                dva++;
 
        }
 
 
        cout << "dva = " << dva << endl;
 
        if (dva == 2)
        {
            if (!p->next)
            {
                pp->next = NULL;
                break;
            }
            pp->next = p->next;
            delete p;
            p = pp;
 
        }
        dva = 0;
        p = p->next;
    
 
    }while(p->next);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 03:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить элемент из списка (C++):

Как удалить нужный элемент из списка или заменить этот элемент на другой? - C++
Доброго времени суток, господа! Есть список: list&lt;double&gt; list1; Есть возможность добавить в начало или в конец списка елементы:...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент - C++
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...

Удалить элемент из списка - C++
Есть список. Надо удалить тот елемент который размещен за заданым. Я пробовал чтото написать(55 строка) но оно не удаляет.#include...

Удалить второй элемент списка - C++
Привет всем, сижу уже 4 часа, надо написать программу, чтобы она удаляла не 1-й элемент, а 2-й, пробую передвигать указатель, но консоль...

Удалить первый элемент из списка - C++
Всем хай! Есть задача, создать список и выполнить некие операции надо ним и так список: struct element { char a; ...

Удалить конкретный элемент из списка - C++
Как удалить конкретный элемент со списка , к примеру удалить &quot;6&quot; со списка &quot;12469&quot;! Код: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13237 / 7509 / 847
Регистрация: 27.09.2012
Сообщений: 18,447
Записей в блоге: 3
Завершенные тесты: 1
28.01.2013, 10:04 #2
1) Вообще не понятно что тут происходит.
2)
Zoom:
C++
1
2
3
4
5
6
pp = p;
//...
delete p;//Освобождение памяти p
p = pp;//pp указывал туда же и память уже освобождена.
//...
p = p->next;//обращение к освобожденной памяти
3) Утечки памяти в функции!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 10:04
Привет! Вот еще темы с ответами:

Удалить элемент из односвязного списка - C++
У нас есть односвязный список и указатель на один из его элементов, как удалить этот элемент из списка, оставив список целостным ?(сделать...

Удалить из списка последний элемент - C++
Задание: Удалить из списка последний элемент. #include&lt;iostream.h&gt; #include&lt;conio.h&gt; struct elem { int Data; elem *Next; ...

Как удалить элемент из списка - C++
for(auto&amp;i:M) { getline(i.GetF(),str); if(i.GetF().eof()) M.remove(i); cout&lt;&lt;str&lt;&lt;&quot;\n&quot;; ...

Удалить элемент из односвязного списка - C++
Есть односвязный список struct student { char last_name; char name; char date; int exams; double rate; };


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru