Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 13.04.2020
Сообщений: 1
1

Не могу организовать удаление из двунаправленного списка нечетных элементов

13.04.2020, 19:18. Показов 579. Ответов 0

Author24 — интернет-сервис помощи студентам
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
using namespace std;
 
struct Double_List {
    int Data; 
    Double_List* Next, 
        * Prior;
};
Double_List* Head; 
Double_List* Current;
 
void Make_Double_List(int n, Double_List** Head,
    Double_List* Prior) {
    if (n > 0) {
        (*Head) = new Double_List();
      
        cout << "Vvedite znachenie ";
        cin >> (*Head)->Data;
       
        (*Head)->Prior = Prior;
        (*Head)->Next = NULL;
        Make_Double_List(n - 1, &((*Head)->Next), (*Head));
    }
    else (*Head) = NULL;
}
 
void Print_Double_List(Double_List* Head) {
    if (Head != NULL) {
        cout << Head->Data << "\t";
        Print_Double_List(Head->Next);
    }
    else cout << "\n";
}
 
Double_List* Delete_Item_Double_List(Double_List* Head) {
    Double_List* ptr;//вспомогательный указатель
    Double_List* Current = Head;
    //for (int i = 1; i < Number && Current != NULL; i++)
    int m = 1;
    while (Current != NULL)
    {
        if (m % 2 != 0)
        {
 
            if (Current != NULL) {//проверка на корректность
                if (Current->Prior == NULL) {//удаляем первый элем
                        Head = Head->Next;
                        //delete(Current);
                        Head->Prior = NULL;
                        Current = Head;
                }
                else {//удаляем непервый элемент
                    if (Current->Next == NULL) {
                        //удаляем последний элемент
                        Current->Prior->Next = NULL;
                        //delete(Current);
                        Current = Head;
                    }
                    else {//удаляем непервый и непоследний элемент
                        ptr = Current->Next;
                        Current->Prior->Next = Current->Next;
                        Current->Next->Prior = Current->Prior;
                        //delete(Current);
                        Current = ptr;
                    }
                }
            }
        }
        Current = Current->Next;
      
        m++;
    }
    return Head;
}
 
int main()
{
    
    Make_Double_List(5, &Head, Head);
    Delete_Item_Double_List(Head);
    Print_Double_List(Head);
}
Буду очень благодарен откликнувшимся.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2020, 19:18
Ответы с готовыми решениями:

Удаление из двунаправленного списка
Программа компилируется, добавляет элементы в список, но когда доходит до удаления вылетает. ...

Сортировка элементов двунаправленного списка
Помогите пожалуйста! Есть двунаправленный список. Как организовать сортировку двунаправленного...

Функция: подсчитать количество элементов кольцевого двунаправленного списка L, у которых равные соседи
Пусть L обозначает двунаправленный список с заглавным звеном. Описать функцию или процедуру,...

Удаление нечетных чисел из списка
Здравствуйте! Помогите пожалуйста: Предикат, удаляющий нечетные числа из списка

0
13.04.2020, 19:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2020, 19:18
Помогаю со студенческими работами здесь

Удаление нечетных чисел из списка
Задан числовой список (целые числа). Необходимо удалить из него все нечетные числа. PS:Только...

Добавление и удаление элементов списка, очистка списка, просмотр списка
Добрый вечер! помогите пожалуйста с решением не простой задачи. Предусмотреть меню, позволяющее...

Получить указатель на элемент двунаправленного списка, добавить значение в начало списка и очистить его
Нужно создать двунаправленный список //вроде так, но не уверен struct Double_List {//структура...

Организовать новый массив из нечетных элементов исходного
Дан одномерный массив B из 20 элементов. Организовать новый массив: ai=bi , если i - нечетное ...

Однонаправленный список. Вывод элементов, списка. Удаление списка.
Создать однонаправленный список натуральных чисел. Найти и вывести элементы списка, кратные 3....

Удаление элементов списка по номерам другого списка
Доброго времени суток! Подскажите функцию удаления элементов списка с порядковыми номерами из...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru