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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Сохранение матриц больших размеров в типизированный файл http://www.cyberforum.ru/cpp-beginners/thread342662.html
Проблема: есть большой двумерный массив (double). Пытаюсь сохранить его в типизированный файл (а затем считать в другой массив). В файл сохраняется только некоторая часть (до 58 элемента, в частном случае), на оставшиеся места записываются максимальное и минимальное значения double (+-6.2 * 10^66). Причем иногда прерывается посередине строки. Как будто память под строку выделилась не в одном...
C++ два ++ Что означает "++" что ето за операция в С++Builder очень надо узнать Напишите кто нибудь. http://www.cyberforum.ru/cpp-beginners/thread342651.html
C++ Тетрис и многопоточность
Здравствуйте. Взялся я за тетрис, немного написал, а потом понял, что мне нужны два потока. Вот зачем: у меня игровое поле — двумерный массив . Фигура представленна массивом . В то время, как один поток будет опускать фигуры вниз, второй поток должен крутить эту же фигуру независимо от шажков спуска. Как это реализовать? Я честно гуглил, но конкретных примеров многопоточности в C++ не...
C++ Подскажите, как должно выглядеть это задание?
Разработайте приложение rle.exe, выполняющее RLE-компрессию бинарных файлов с сильно разреженным содержимым, а также декомпрессию упакованных ею файлов. Необходимо реализовать следующий принцип компрессии файла: При обнаружении последовательности одинаковых байтов, она кодируется при помощи двух байтов. Первый байт хранит количество повторов следующего за ним байтов. Например, последовательность...
C++ string http://www.cyberforum.ru/cpp-beginners/thread342590.html
народ я вот решаю задачу .. вводишь в файл input.txt латинскую букву...а в файл output.txt выводить должно справа стоящую на клавиатури букву. вот код: #include <fstream> #include <string> using namespace std; main () {
C++ Что такое ' ' (апострофы) Да, я знаю что char c = '1'; // == 48 А вот что такое '1234' и почему нельзя '12345'? подробнее

Показать сообщение отдельно
morphling
 Аватар для morphling
-9 / 19 / 1
Регистрация: 26.06.2010
Сообщений: 181
17.08.2011, 05:34     Создание нескольких стеков
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

ошибки при компиляции((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru