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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.74
andreevym
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 3
#1

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

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

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

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

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

Добавлено через 1 час 23 минуты
я решил, но не знаю правильно или нет, т.к скомпилировать не могу
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
27.03.2011, 07:06     Класс стек, алгоритм решения #2
Цитата Сообщение от andreevym Посмотреть сообщение
я решил, но не знаю правильно или нет
Как бы это дико не звучало, мы тоже не в курсе этого. Код в студию.

Не по теме:

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

Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 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
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
28.03.2011, 01:46     Класс стек, алгоритм решения #5
Весь main сносите нафиг.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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++ Шаблонный класс Стек
Класс стек (работа с файлами) 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     Класс стек, алгоритм решения
Ответ Создать тему
Опции темы

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