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

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

Войти
Регистрация
Восстановить пароль
 
alexeYesterday
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 30
#1

Рекурсивная функция по удалению элемента - C++

20.03.2014, 19:30. Просмотров 209. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста написать рекурсивную функцию для удаления элемента списка, дан список книг, если встречается книга с тиражом более 50000 - удалить предшествующую ей книгу.

C++
1
2
3
4
Book* DellIfEdition(Book * &Start,Book* dell)
{if(Start == NULL){return Start;}
 if(Start->edition>=50000){dell=Start;return dell;}
 else{if(dell!=NULL){Start->next=dell->next;delete dell;dell=NULL;}DellIfEdition(Start->next,dell);}}
Долго пытался придумать как реализовать, в итоге не могу осмыслить.
Архив содержит код всех файлов.
Вложения
Тип файла: rar Архив WinRAR.rar (4.8 Кб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 19:30     Рекурсивная функция по удалению элемента
Посмотрите здесь:

C++ Рекурсивная функция
C++ Рекурсивная функция нахождения максимального элемента в списке
C++ рекурсивная функция
Рекурсивная функция С++ C++
Рекурсивная функция C++ C++
Рекурсивная функция поиска минимального элемента матрицы C++
C++ Рекурсивная функция нахождения наибол. элемента в массиве
C++ Рекурсивная функция для нахождения минимального элемента массива
Рекурсивная функция поиска максимального элемента массива C++
C++ Рекурсивная функция для вычисления индекса максимального элемента массива
C++ Рекурсивная функция определения минимального элемента массива
Рекурсивная функция, которая вычисляет значение элемента C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexeYesterday
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 30
20.03.2014, 21:13  [ТС]     Рекурсивная функция по удалению элемента #2
Я уже стал чуть ближе к цели,
C++
1
2
3
4
5
void DellIfEdition(Book * &Start,Book *pp)
{if(Start==NULL){return;}
 else if(Start->edition>50000){pp->next=Start->next;}
 else {pp=Start;DellIfEdition(Start->next,pp);}
}
удаляет, но работает только с 1 элементом.
Yandex
Объявления
20.03.2014, 21:13     Рекурсивная функция по удалению элемента
Ответ Создать тему
Опции темы

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