Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2013, 15:17   #1
MisterTreb
Новичок
Джуниор
 
Регистрация: 08.01.2013
Сообщений: 1
Печаль удаление элемента односвязного списка. язык СИ. всего 5 строчек кода, много времени не займет.

функция удаляет элемент из списка. но в head должно передаваться значения которые остались после удаления . то есть ввели изначально 2 2 1 3 4. по условию удалиться должна единица. она удаляется. но по идее в head должно быть после удаления " 2 2 3 4" а тут получается " 2 2 -17891602 NULL" . то есть и удаляемый и элемент после него пропадают.

Код:
void dell_elem(list *end, list *head)
{
    
    {
                      list *now = end; // заносим изначальное значение в now
        end = end -> next ; // меняем изначально значение на то что будет стоять после
        free(now);// удаляем предыдущее
    }
    
}
...
del_elem( end, head); // end - это значение изначально, до удаления то есть " 2 2 1 3 4"
выручите пожалуйста. как нужно написать чтобы работало и head занеслось нормальное значение! то есть " 2 2 3 4 "
MisterTreb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка динамического односвязного списка (язык Си) Tokar_1 Общие вопросы C/C++ 0 25.04.2012 06:09
Удаление элемента списка igoldyrev Помощь студентам 2 06.03.2011 14:24
Удаление последнего элемента из списка и реверс этого списка. Goose Общие вопросы C/C++ 8 16.05.2010 16:12
Вопрос (не займет много времени) MARine_life Microsoft Office Access 2 15.12.2009 17:58