Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
andreevym
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 3
1

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

27.03.2011, 01:14. Просмотров 3424. Ответов 7
Метки нет (Все метки)

Вот условие:
Описать класс, реализующий стек. Написать программу, использующую этот класс для моделирования Т-образного сортировочного узла на железной дороге. Программа должна разделять на два направления состав, состоящий из вагонов двух типов (на каждое направление формируется состав вагонов одного типа). Предусмотреть возможность формирования состава из файла и с клавиатуры.

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

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

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

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
"Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает...

Класс Стек Stack. не работает класс исключений
Здравствуйте! Решил проверить код на пригодность, но почему то класс исключений...

Класс стек
Доброго времени! Читаю книгу Р. Лафоре - Объектно-ориентированное...

Шаблонный класс Стек
прошу помочь разобраться с кодом. вопросы выделил по ходу кода. #ifndef...

Класс стек, рекурсия,
задача - реализовать стек через класс, все основные функции со стеком, и самое...

7
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
27.03.2011, 07:06 2
Цитата Сообщение от andreevym Посмотреть сообщение
я решил, но не знаю правильно или нет
Как бы это дико не звучало, мы тоже не в курсе этого. Код в студию.

Не по теме:

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

0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
27.03.2011, 07:37 3
Цитата Сообщение от andreevym Посмотреть сообщение
т.к скомпилировать не могу
Следовательно, не правильно решили.
0
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;
};
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
28.03.2011, 01:46 5
Весь main сносите нафиг.
0
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
28.03.2011, 01:58 6
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от ForEveR Посмотреть сообщение
Весь main сносите нафиг.
хотя бы один из двух
3
ForEveR
28.03.2011, 02:06
  #7

Не по теме:

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

0
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 минут
помогите пожалуйста с задачей, не могу разобраться : (
0
28.03.2011, 02:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 02:37

Класс, реализующий стек
Помогите девушке, только учусь программировать и чет пока не очень=(...

Стек через класс
Не всекаю где проблема, после создания new_el, значения стека p по переменной...

Определить класс стек
Определить класс стек. В класс включить два конструктора для определе-ния стека...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru