Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
zergreak
1 / 1 / 2
Регистрация: 07.06.2016
Сообщений: 82
#1

Удалить последний элемент из стека - C++

23.11.2016, 15:18. Просмотров 543. Ответов 1
Метки нет (Все метки)

Здравствуйте.Помогите удалить последний элемент из стека.У меня почему-то удаляется предпоследний,не понимаю в чем ошибка.Заранее спасибо
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
#include <iostream>
using namespace std;
struct stack
{
    int x; 
    stack *Next,*Head; 
};
 void Add(int x, stack *&Mystack) 
{
    stack *temp=new stack; 
    temp->x=x; 
    temp->Next=Mystack->Head; 
    Mystack->Head=temp; 
}
 void Show(stack *Mystack) 
{
    stack *temp=Mystack->Head; 
    while (temp!=NULL) 
    {
    cout<<temp->x<<" "; 
    temp=temp->Next; 
    }
}
void Clearstack(stack *Mystack)
    {
    while (Mystack->Head!=NULL) 
    {
    stack *temp=Mystack->Head->Next; 
    delete Mystack->Head; 
    Mystack->Head=temp; 
}
}
void Remove(stack *MyStack, int i)
{
    int u=2;
    stack *t=MyStack->Head, *tek;
    if (t==NULL) {cout<<"\nstack pyst.\n"; return;}
    while (u<i) { t=t->Next;  ++u;}//temp = t
    tek = t->Next;
    t->Next=tek->Next;
    delete tek; // удаляем последний
 
}
 int main()
{
    int a,d,i,k;
    cout << "Vvedite kol-vo elementov, kotorie hotite dobavit' v stack"<<endl;
    cin>> k;
    stack *Mystack=new stack; 
    Mystack->Head=NULL; 
    for(i=0;i<k;i++)
    {
    cin>>a;
    Add(a,Mystack); 
    cout<<"Nash stack"<<endl;
    Show(Mystack);
    cout<<endl;
 }  
    cout<<"Nash stack posle delete"<<endl;
    Remove(Mystack,i-k);
    Show(Mystack);
    cout<<endl;
    Clearstack(Mystack); 
    
    delete Mystack->Head;
    delete Mystack;
    system("pause");
}

http://www.cyberforum.ru/cpp-beginners/thread889807.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2016, 15:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить последний элемент из стека (C++):

Удалить элемент из стека по условию и добавить элемент в начало стека
Здравствуйте, помогите пожалуйста исправить(дописать) программы. 1). Нужно...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Создать циклический список, в котором находятся элементы от 1 до N. Нужно...

Удалить предпоследний элемент из стека
Подскажите, как удалить предпоследний элемент из стека. В данном примере сделал...

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

Как удалить элемент стека по значению
Как удалить элемент стека по значению? struct stack { int x; stack...

1
Sad sack
5 / 5 / 5
Регистрация: 22.11.2016
Сообщений: 36
23.11.2016, 16:43 #2
Цитата Сообщение от zergreak Посмотреть сообщение
последний элемент
Дам подсказку:
Вот пример удаления 6го элемента Дерзайте!
C#
1
2
3
4
5
6
7
8
9
10
//ищем необходимый индекс элемента 
int idx = Array.IndexOf(s.ToArray(), findNumb);
 
for (int i = 0; i < s.Count; i++)
{
if (i == 6)
{
s.Pop();//и удаляем его
}
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2016, 16:43
Привет! Вот еще темы с решениями:

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

Удалить из списка последний элемент
Задание: Удалить из списка последний элемент. #include&lt;iostream.h&gt;...

Удалить последний элемент очереди
Нужно удалить последний элемент очереди. struct node { node *next; int...

Удалить последний элемент массива
Может кто помочь как можно удалить последний элемент массива, токо не используя...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru