Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

СТЕК. Запись последующего элемента. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Черные пятницы http://www.cyberforum.ru/cpp-beginners/thread283042.html
Используя перечисляемый тип, определить тип «дни недели» и выдать все «черные» пятницы этого года (т.е. число месяца равно 13, а день недели – пятница).
C++ Визуальный редактор С++ Недавно знакомый попросил помочь с Excel, совершенно случайно залез в редактор VBA радости не было границ не надо знание WIN API чтоб написать простейшую бухгалтерскую прогу, если кто-нибудь встречал... http://www.cyberforum.ru/cpp-beginners/thread283041.html
Создание немодального окна. C++
Просветите, пожалуйста. Как создать дочернее немодальное окно через CreateWidow(Ex)? Лучше всего примером. Я так понял надо регистрировать свой класс со своей функцией обработки сообщений? На...
C++ Динамическая отрисовка фигур в picturebox мышью
Всем привет. В общем, хотелось бы рисовать фигуры мышью, вместо того, чтобы каждый раз вводить координаты вершин. Находил в сети ряд примеров, но все они на C#. Хотелось бы на C++. Хотя бы пример...
C++ Ввести данные http://www.cyberforum.ru/cpp-beginners/thread283029.html
Помогите пожалуйста ввести сруктуру типа: struct employee { char*name; float salary; int stage };
C++ Использование указателей на функции Составить одну из двух задач с использованием указателя на функцию 1. Составить функцию нахождения корня уравнения f(x)=0 методом половинного деления интервала , если функция f(x)=0 непрерывная на... подробнее

Показать сообщение отдельно
Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144

СТЕК. Запись последующего элемента. - C++

25.04.2011, 16:26. Просмотров 806. Ответов 5
Метки (Все метки)

Вводим стек (top), если элемент стека больше а, то этот элимент запишим в новый стек(top2)

Вродь пустяк, но не могу врубиться, первый элемен который >a записывает, а как взять "top2->next=" понять не могу(((

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
#include <conio.h>
#include <iostream.h>
 
struct node
{
 float num;
 node* next;
} ;
 
 
node* push(node* , float);
void printstack(node* );
node* pop(node*);
 
void main()
{  clrscr ();
   float what;
   int n,i,a;
   node* top=0;
   node* top2=0;
   cout<<"input n= ";
   cin>>n;
   cout<<endl;
   cout<<"input a= ";
   cin>>a;
   cout<<endl;
   //input in stek
   cout<<"input what"<< n<<"value\n";
   for (i=1;i<=n;i++)
   {
     cin>>what;
     top= push(top, what);
   }
 
     //print stek
  printstack(top);
  top2=new node;
 
 
 
   //output from stek
   while(top)
   {
     if (top->num >a)
    top2->num=top->num;
       // top2->next=
        top=pop(top);
   }
    printstack(top2);
   getch();
}
 
node* push(node* top, float what)
{
  node* pv=new node;
  pv->num=what;
  pv->next=top;
  return pv;
}
 
void printstack(node* top)
{
  float what;
 
  cout<<"stek:\n";
  while (top)
  {
    cout<<top->num<<" ";
    top=top->next;
  }
  cout<<endl;
 }
 
 node* pop(node* top)
 {
   node* pv=top->next;
   delete top;
   return pv;
 }
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
while(top)
   {
     if (top->num >a)
        top2->num=top->num;
       // top2->next=
        top=pop(top);
   }
Вот тут нужна помощь)

Добавлено через 1 час 47 минут
когда беру next->0 то выводит только один элемент >a((
C++
1
2
3
4
5
6
7
while(top)
   {
     if (top->num >a)
        top2->num=top->num;
       top2->next=0;
        top=pop(top);
   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru