Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для morphling
19 / 19 / 2
Регистрация: 26.06.2010
Сообщений: 181

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

17.08.2011, 05:34. Показов 1985. Ответов 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

ошибки при компиляции((
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2011, 05:34
Ответы с готовыми решениями:

Создание нескольких массивов в цикле
Возможно ли в цикле создать энное количество массивов? Например while(n!=20) {new arr&lt;n&gt;} Что то на подобие этого. В...

Создание нескольких объектов приводит к ошибке
for(int i=1,j=0;i&lt;22;i++) for(j=1;j&lt;32;j++) switch (MCard){ case 0:{ ...

Создание файла-библиотеки из нескольких однотипных файлов
Всем привет. У меня возникла идея создания вот такой вот программки. Что необходимо? Чтобы из всех файлов в папке, пусть то будет *.wav,...

1
Заблокирован
17.08.2011, 08:20
stack::create отсутсвует определение
и destroy тоже самое

Добавлено через 38 секунд
ошибки при линковке, а не компиляции
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2011, 08:20
Помогаю со студенческими работами здесь

Создание массива для нескольких вариантов ответа
Пишу игру &quot;Поле чудес&quot;. Функция представленная ниже должна отвечать на вопрос. В игре 10 вопросов и соответственно 10 разных ответов, и...

Создание нескольких объектов класса и их сохранение (Нужен пример)
Собственно вопрос в названии темы. Можно какую-нибудь самую простейшую программу, которая создает сначала первый объект, далее сохраняет...

Создание статической библиотеки из нескольких файлов с несколькими заголовочными файлами
В общем, имеется несколько классов, как водится - каждый имеет .h/.cpp. Решил собрать все это дело в библиотеку, но вот беда - все равно...

Передача стеков
Немного глупый вопрос, но всё же. Как нужно переписывать стек в стек? Т.е. у меня есть 2 стека. к примеру в стеке с именем Stack1 будет...

Реализация k-стеков
Добрый день! Никак не могу найти информацию по реализации k-стеков. Задача состоит в следующем: 1. описать объектовый тип стек и взять...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru