ЖБ
Жанна Блохина

помогите с далением в Си

Нужно удалить все данные которые находятся до ведённой даты. Помогите пожалуйста. Вот мой код: http://pastebin.com/exFBGjAK

АП
Артем Пупынин

Это не Вы писали:
if(j->data == g->data){
if(g == head){
if (head->next == NULL){
head = NULL;
lost = NULL;
}else{
head = g->next;
head->prev = NULL;
}
}else{
l = g->next;
g = g->prev;
g->next = l;
if(l != NULL)
l->prev = g;
if(l == NULL)
lost = g ;
}
}

так как никакого цикла нет
А надо WHILE g!=NULL и j->data != g->data
делать поиск перемещаясь к следующему.
Так как поиск идет всегда с начала и меняешь всегда head, то достаточно:
while( head != NULL ){

if(j->data == head->data) {
break; // выход из while, так как до введенной даты удалили все (введенную оставим)
}
else{
head = head->next;
head->prev = NULL;
if(head==NULL) lost = NULL;
}

}

Вот так примерно (не тестил)
а... память еще удалить надо, а то утечка будет... вот кажись все теперь

Похожие вопросы
Помогите написать программу на языке СИ/СИ++!!
помогите с сортировкой на Си
Помогите с задаче в СИ
Помогите с задачей на Си
Помогите с задачей на СИ.
помогите с си++, пожалуйста)
Программа на си. Помогите
помогите с тетрисом в си
Помогите с задачкой си++
Помогите с программой в СИ++.