![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.01.2011
Сообщений: 1
|
![]()
Описать класс стек целых чисел, создать экземпляр данного класса,заполнить его, извлечь из него элементы, выводя на экран только четные.
прошу помогите пожалуйста, скоро голова лопнет, ничего не получается! вот что напробовала.. #include<iostream.h> #include<conio.h> class Stack { private: struct SpL { int element; SpL *next; }; SpL *first; SpL *last; public: Stack() { first = NULL; last = first; } void add(int v) { if (first == NULL) { first = new SpL; first->element = v; first->next = first; last=first; } else { SpL* temp = new SpL; temp->element = v; temp->next = first; last->next = temp; last = temp; } } bool Pusto() { if(first == NULL) return true; else return false; } ~Stack() { while (Pusto()!=true) { SpL *t=first; SpL *t2=t->next; while(t2!=NULL) {delete t; t=t2; t2=t->next; } } } int find() { SpL *t; t=first; while (t->next!=first) { if(t->element%2==0) {cout<<t->element;} t=t->next; } } }; void main() { Stack q; int c; cout << "Vvedite element ocheredi (0 - dlya zaversheniya):"; do { cin >> c; if (c == 0) { break; } q.add(c); } while(true); cout <<"Chetn: "; q.find(); getch(); } Последний раз редактировалось Наталья(Яшка); 23.01.2011 в 22:20. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.05.2010
Сообщений: 495
|
![]()
Для стека не нужно двух указателей first, last.
Достаточно одного на вершину стека, т.е. на последний элемент, помещенный в стек. А указатель next самого первого элемента приравниваешь NULL. По NULL ты и определишь, что стек исчерпан. А ты похоже реализуешь не стек, а очередь.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948 |
![]() |
![]() |
![]() |
#3 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
Что-то типа стека. Вывод на экран только четных элементов сделаешь сама
![]() Код:
Последний раз редактировалось profi; 24.01.2011 в 09:47. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[LAZARUS] Не получается убрать приложение с панели задач. | Alex Cones | Lazarus, Free Pascal, CodeTyphon | 9 | 24.08.2010 22:05 |
Требуюсь в помощи с решением задач, очень срочно | Star Fish | Помощь студентам | 2 | 06.08.2010 09:37 |
не получается отключение CTRL+alt+del? Alt+TAb, часов с панели задач и Крестик окна | Reds | Общие вопросы Delphi | 1 | 30.09.2008 10:37 |
Помогите пожалуйста решить задачу!Очень нужно у самой не получается! | Lilu Monechi | Помощь студентам | 2 | 19.05.2008 19:38 |