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

Класс стек, алгоритм решения - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.74
andreevym
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 3
27.03.2011, 01:14     Класс стек, алгоритм решения #1
Вот условие:
Описать класс, реализующий стек. Написать программу, использующую этот класс для моделирования Т-образного сортировочного узла на железной дороге. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав вагонов одного типа). Предусмотреть возможность формирования состава из файла и с клавиатуры.

Алгоритм работы
1) тип – чётные числа,2) тип – нечетные.
1. Заполнить стек из файла;
2. Заполнить с клавиатуры;
3. Просмотреть содержимое стека;
4. Разделение содержимого стека;
5. Просмотреть массив из четных данных;
6. Просмотреть массив из нечетных данных;
1. Создается файл. В него заносятся данные, сгенерированные случайным образом.
После генерации данные из файла записываются в стек.
2. Данные вводятся с клавиатуры и сразу записываются в стек.
3. Вывод на экран содержимого стека.
4. Разделение содержимого стека на два: chet и nechet. При этом записанный в какой-либо массив элемент из стека удаляется. После выполнения этой операции в стеке данных нет.
5. Вывод на экран данных массива chet.
6. Вывод на экран данных массива nechet.

Помогите пожалуйста её решить через Борланд

Добавлено через 1 час 23 минуты
я решил, но не знаю правильно или нет, т.к скомпилировать не могу
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2011, 01:14     Класс стек, алгоритм решения
Посмотрите здесь:

C++ класс, реализующий стек
Класс стек, рекурсия, C++
C++ Стек через класс
Класс стек что не так? C++
Класс Стек Stack. не работает класс исключений C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
27.03.2011, 07:06     Класс стек, алгоритм решения #2
Цитата Сообщение от andreevym Посмотреть сообщение
я решил, но не знаю правильно или нет
Как бы это дико не звучало, мы тоже не в курсе этого. Код в студию.

Не по теме:

Только, ради Бога, отформатируйте его по-человечески и оформите в теги!

Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
27.03.2011, 07:37     Класс стек, алгоритм решения #3
Цитата Сообщение от andreevym Посмотреть сообщение
т.к скомпилировать не могу
Следовательно, не правильно решили.
andreevym
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 3
28.03.2011, 01:38  [ТС]     Класс стек, алгоритм решения #4
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include<iostream.h>
#include <stdafx.h>
#include <malloc.h>
#include <stlexam.h>
#include <stack>
#include <vector>
#include <deque>
#include <string>
int main()
{
class Stack
{ 
private:
    char* _data;
    int _dataSize;
    int _count;
    void realocateIfNeeded(int _countNeeded)
    {
        if (_countNeeded>_dataSize)
        {
            if (_dataSize==0) { _dataSize = 1; }
            while (_dataSize<_countNeeded)
            {
                _dataSize *= 2;
            }
            _data = (char*)realloc(_data,_dataSize*sizeof(char));
        }
        if ((_countNeeded<=(_dataSize/2))&&(_dataSize>0))
        {
            while (((_dataSize/2)>=_countNeeded)&&(_dataSize>0))
            {
                _dataSize /= 2;
            }
            _data = (char*)realloc(_data,_dataSize*sizeof(char));
        }
    }
public:
    Stack()
    {
        _data = NULL;
        _dataSize = 0;
        _count = 0;
    }
    ~Stack()
    {
        if (_dataSize!=0)
        {
            free(_data);
        }
    }
    void Push(char Value)
    {
        realocateIfNeeded(_count+1);
        _data[_count] = Value;
        _count++;
    }
    char Pop()
    {
        if (_count==0) { throw; }
        char value = _data[_count-1];
        realocateIfNeeded(_count-1);
        _count--;
        return (value);
    }
    int Count()
    {
        return _count;
    }
};
 
}
 
ifstream in('line.txt');
 
 return 0;
}
 
{
 
int main(int argc, char* argv[])
{
    Stack l;
    Stack c;
    Stack n;
 ifstram in("line.txt");
    l.Push(in);
for(a=0;a=i;a++)
{
if (l[i]%2==0)
     {
         c.Push(l[i]);
c.Push(" ");
     }
     else
     {
         n.Push(l[i]);
n.Push(" ");
     }
printf("Четные числа: ", c.Push());
printf("Нечетные числа: ", n.Push());
}
    return 0;
};
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.03.2011, 01:46     Класс стек, алгоритм решения #5
Весь main сносите нафиг.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
28.03.2011, 01:58     Класс стек, алгоритм решения #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ForEveR Посмотреть сообщение
Весь main сносите нафиг.
хотя бы один из двух
ForEveR
28.03.2011, 02:06
  #7

Не по теме:

fasked, Ахаха. Реально) Не заметил)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 02:37     Класс стек, алгоритм решения
Еще ссылки по теме:

Класс стек C++
C++ Определить класс стек
C++ Шаблонный класс Стек

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

Или воспользуйтесь поиском по форуму:
andreevym
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 3
28.03.2011, 02:37  [ТС]     Класс стек, алгоритм решения #8
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
#include<iostream.h>
#include <stdafx.h>
#include <malloc.h>
#include <stlexam.h>
#include <stack>
int main()
{
        Stack l;
        Stack c;
        Stack n;
 ifstram in("line.txt");
        l.Push(in);
for(a=0;a=i;a++)
{
if (l[i]%2==0)
     {
         c.Push(l[i]);
c.Push(" ");
     }
     else
     {
         n.Push(l[i]);
n.Push(" ");
     }
printf("Четные числа: ", c.Push());
printf("Нечетные числа: ", n.Push());
}
        return 0;
};
Добавлено через 12 минут
помогите пожалуйста с задачей, не могу разобраться : (
Yandex
Объявления
28.03.2011, 02:37     Класс стек, алгоритм решения
Ответ Создать тему
Опции темы

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