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

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

25.04.2020, 23:14. Показов 162. Ответов 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
 
using namespace std;
 
struct SingleList {
 
    int data;
 
    SingleList* pNext;
};
 
void EnterQueue(int r, SingleList **header) 
{
    float value;
    int range = r;
    if (range > 0) {
 
        (*header) = new SingleList(); 
        cin >> value;
        (*header)->data = value;
 
        (*header)->pNext = NULL;
 
        EnterQueue(range - 1, &((*header)->pNext)); 
 
    }
 
}
 
int Max_Elem(SingleList* Head) {
 
    SingleList* Output = Head;
 
    SingleList* Temp = Head;
 
    int maxValue = Output->data;
 
    int output = 1;
 
    int temp = 1;
 
    while (Temp != NULL) {  
 
        if (maxValue < Temp->data)
        {
            output = temp;
            maxValue = Temp->data;
        }
 
        Temp = Temp->pNext;
 
        temp++;
 
    }
 
    return output;
 
}
 
void DisplayQueue(SingleList* header, int r ) {
    SingleList* display = header;
        while (display)
        {
            cout << display->data << endl;
 
            display = display->pNext;
        }
        
 
    
 
}
 
void Delete_Index_Elem(SingleList *header, int r, int index)
{
    index-=2;
    
    int range = r;
    if (index != -1)
    {
        if (range <= index || range == 0 || index < -1)
        {
            cout << "Нет элементов для удаления" << endl;
        }
        else
        {
            SingleList *previous = header;
            for (int i = 0; i < index; i++)
            {
                previous = previous->pNext;
            }
            SingleList *toDelete = previous->pNext;
            previous->pNext = toDelete->pNext;
            delete toDelete;
        }
    }
    else
    {
        SingleList *previous = header;
 
        SingleList *toDelete = previous;
        previous->pNext = toDelete->pNext;
        delete toDelete;
    }
    
        
        
}
 
 
 
int main()
 
{
 
    setlocale(LC_ALL, "Rus");
 
    
 
    int r;
 
    
 
    SingleList* table;
 
    cout << "Введите необходимый диапазон очереди: ";
 
    cin >> r;
 
    EnterQueue(r, &table);
 
    cout << endl << endl << "Ваша очередь: " << endl;
 
    DisplayQueue(table,r);
 
    
 
    cout << endl << endl << "Максимальное значение имеет элемент под номером " << Max_Elem(table) << endl;
    int elem;
    cout << "Введите номер элемента для удаления" << endl;
    cin >> elem;
    Delete_Index_Elem(table,r,elem);
    r--;
 
    cout << endl << endl << "Ваша очередь: " << endl;
 
    DisplayQueue(table,r);
 
    system("pause");
    return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2020, 23:14
Ответы с готовыми решениями:

Удалить первый и последний элемент очереди
Нужна программа которая будет удалять первый и последний элемент очереди.

Удалить первый отрицательный элемент из очереди
Описать процедуру, которая удаляет из очереди первый отрицательный элемент, если такой есть.

Добавить элемент со значением D в конец очереди и извлечь из очереди первый (начальный) элемент
Дано число D и указатели P1 и P2 на начало и конец очереди, содержащей не менее двух элементов. ...

Поменять в очереди первый элемент со вторым, третий с четвертым и так далее до конца очереди
Дана очередь из целых чисел. Поменять в очереди первый элемент со вторым, третий с четвертым и так...

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

Переместить первый положительный элемент очереди за ее крайний правый элемент
Здравствуйте. Помогите написать программу, пожалуйста. С++ нельзя использовать. &quot;Переместить ...

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

Удалить первый четный и первый нечетный элемент до первого отрицательного элемента массива
Помогите, пожалуйста! Дан одномерный массив. Удалить первый четный и первый нечетный элемент до...

После умножения очередей заполняется первый элемент очереди
пытаюсь умножить две очереди (первый элемент на все элементы второй очереди сложить и запихнуть в...

Удалить N-й элемент очереди
Доброго времени суток. Помогите решить вот такую задачу: Создать очередь из М случайных чисел,...

Удалить элемент очереди
Здравствуйте. Сделал всё ну практически по Липпману: #include &lt;queue&gt; #include &lt;iostream&gt; ...


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

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