С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
DanilChex
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 1
1

Удаление из стека отрицательных элементов

07.04.2016, 23:10. Просмотров 1177. Ответов 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
69
70
71
72
 struct Stack {             
        int info;
        Stack * next;
} *begin, *t;
//------------ Декларации прототипов функций пользователя ----------
Stack* InStack(Stack*, int);
void View(Stack*);
void Del_All(Stack **);
//--------------- Функция добавления элемента в Стек ------------------------
Stack* InStack(Stack *p, int in) {
        Stack *t = new Stack;
        t -> info = in;
        t -> next = p;
        return t;
}
//----------------- Функция просмотра Стека----------------------------------
void View(Stack *p) {
        Stack *t = p;
        while( t != NULL) {               
   cout << "   " << t->info << endl;
                t = t -> next;
        }
}
//----------------------- Функция освобождения памяти -----------------------
//Нужно поменять этот блок чтобы он удалял только отрицательные елементы
void Del_All(Stack **p) {
        while(*p != NULL) {
                t = *p;
                *p = (*p) -> next;
                delete t;
        }
}
 
void main()
{
    int i, in, n, kod;
while(true){
   cout << "\n\tCreat - 1.\n\tAdd - 2.\n\tView - 3.\n\tDel - 4.\n\tEXIT – 0.  :  " ;
   cin >> kod;
   switch(kod) {
      case 1: case 2:         
            if(kod == 1 && begin != NULL){
// Если создаем новый стек, должны освободить память, занятую предыдущим
                            cout << "Clear Memory!" << endl;
                            break;
                }
         cout << "Input kol = ";         cin >> n;
         for(i = 1; i <= n; i++)  {
                in = random(20)-10;
                begin = InStack(begin, in);
         }
         if (kod == 1) cout << "Create " << n << endl;
         else cout << "Add " << n << endl;
      break;
      case 3:         if(!begin){
                        cout << "Stack Pyst!" << endl;
                        break;
                     }
         cout << "--- Stack ---" << endl;
         View(begin);
      break;
      case 4:    
         Del_All(&begin);
         cout<<"Memory Free!"<<endl;
      break;
      case 0:
         if(begin != NULL)
            Del_All(&begin);
         return;        // Выход – EXIT
}
     }
}
Добавлено через 4 часа 13 минут
Апну тему,нужна помощь хоть какие то идеи по блоку удаления елементов

Добавлено через 46 секунд
Апну тему,нужна помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2016, 23:10
Ответы с готовыми решениями:

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

Удаление элементов из стека
Удалить из созданного списка(стек) отрицательные элементы.

Удаление элементов из стека
Задание: 10. В созданном списке определить количество элементов, имеющих...

Удаление элементов из стека
Здравствуйте. Посмотрите, пожалуйста мой код. Это не совсем обычная реализация...

Удаление элементов из стека
Создать стек содержащий целые числа. Из стека удалить элементы каратные 5....

1
marat_miaki
165 / 150 / 90
Регистрация: 08.04.2013
Сообщений: 617
08.04.2016, 07:11 2
только перебрав во второй стек, посмотри определение стека
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2016, 07:11

Удаление элементов стека через массив
Имеется код: #include &lt;iostream&gt; #include &lt;limits&gt; #include &lt;conio.h&gt;...

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

Удаление отрицательных элементов динамического массива
Может быть у вас получиться переделать код, что бы всё работало: #include...


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

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

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