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

Создание нескольких стеков - C++

Восстановить пароль Регистрация
 
morphling
 Аватар для morphling
-9 / 19 / 1
Регистрация: 26.06.2010
Сообщений: 181
17.08.2011, 05:34     Создание нескольких стеков #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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include <tchar.h>
#include <stdlib.h>
#include <iostream.h>
#include <dos.h>
//---------------------------------------------------------------------------
namespace Stack
          {
            const int max_size = 100;//максимальный размер стека
            struct Rep{
                        int top; // вершина стека
                        char v[max_size+1];
                      };
            typedef Rep& stack;
            stack create(); //создание стека
            void destroy(stack s); //уничтожение стека
 
            void push(stack s, char c); //добавление элемента в стек
            char pop(stack s);//выталкивание элемента из стека с
 
            void f();
          }
 
//---------------------------------------------------------------------------
 
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    Stack::f();
    return 0;
}
//---------------------------------------------------------------------------
void Stack::f()
     {
       char sim1 = 'a', sim2 = 'b', return_sim1, return_sim2;
 
       Stack::stack s1 = Stack::create();//создаем 2 стека
       Stack::stack s2 = Stack::create();
 
       Stack::push(s1, sim1); //добавляем переменные в стек
       Stack::push(s2, sim2);
 
       return_sim1 = Stack::pop(s1);//выталкиваем их оттуда
       return_sim2 = Stack::pop(s2);
 
       if (return_sim1 != sim1) cout<<"impossible s1";
       if (return_sim2 != sim2) cout<<"impossible s2";
 
 
       Stack::destroy(s1);//уничтожение стеков
       Stack::destroy(s2);
     }
//---------------------------------------------------------------------------
void Stack::push(stack s, char c)
     {
      if (s.top < Stack::max_size)
         {
           s.v[s.top++] = c;
         }else{
                cout<<"Стек переполнен!";
              }
     }
 
//---------------------------------------------------------------------------
char Stack::pop(stack s)
     {
      if (s.top > 0)
         {
           return s.v[--s.top];
         }else{
                cout<<"Стек пуст!";
                return 0;
              }
     }
//---------------------------------------------------------------------------
Stack::stack create()
            {
             return *((Stack::stack*)malloc(sizeof(Stack::stack)));
            }
//---------------------------------------------------------------------------
void destroy(Stack::stack s)
            {
              free(&s);
            }
//---------------------------------------------------------------------------
[ILINK32 Error] Error: Unresolved external 'Stack::create()' referenced from C:\DOCUMENTS AND SETTINGS\АДМИНИСТРАТОР\МОИ ДОКУМЕНТЫ\RAD STUDIO\PROJECTS\DEBUG\WIN32\FILE1.OBJ

[ILINK32 Error] Error: Unresolved external 'Stack::destroy(Stack::Rep&)' referenced from C:\DOCUMENTS AND SETTINGS\АДМИНИСТРАТОР\МОИ ДОКУМЕНТЫ\RAD STUDIO\PROJECTS\DEBUG\WIN32\FILE1.OBJ

[ILINK32 Error] Error: Unable to perform link

ошибки при компиляции((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2011, 05:34     Создание нескольких стеков
Посмотрите здесь:

C++ из 2-х стеков в один
C++ на основе стеков..... на С++
Создание WinApi функции для нахождения максимального элемента массива в нескольких потоках C++
C++ Передача стеков
Создание нескольких объектов класса и их сохранение (Нужен пример) C++
Создание нескольких массивов в цикле C++
Создание статической библиотеки из нескольких файлов с несколькими заголовочными файлами C++
Реализация k-стеков C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
17.08.2011, 08:20     Создание нескольких стеков #2
stack::create отсутсвует определение
и destroy тоже самое

Добавлено через 38 секунд
ошибки при линковке, а не компиляции
Yandex
Объявления
17.08.2011, 08:20     Создание нескольких стеков
Ответ Создать тему
Опции темы

Текущее время: 07:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru