Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
7 / 7 / 3
Регистрация: 18.12.2011
Сообщений: 137
1

Есть готовая рабочая прога. Нужно дописать пару строчек...

22.12.2011, 23:15. Показов 1136. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот программа (полностью рабочая):

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
#include <iostream>
#include <conio.h>
using namespace std;
 
#define N 10
 
template <class TYPE>
class stack {
private:
    enum { 
        EMPTY=-1
    };
    TYPE *s;
    int len, top;
public:
    stack() {             //Создает стек из 1000 элементов
        len=1000; 
        s=new TYPE[1000]; 
        top=EMPTY; 
    }               
    stack(int size) {     //Создает стек из заданного числа элементов
        len=size; 
        s=new TYPE[size]; 
        top=EMPTY; 
    }       
    ~stack() {            //Удаляет стек
        delete s; 
    }                                           
    void reset() {         //Очищает стек
        top=EMPTY; 
    }                                       
    void push(TYPE c) {      //Добавить элемент в стек
        s[++top]=c;  
    }                               
    TYPE pop() {           //Забрать элемент из стека
        return s[top--];  
    }                               
    TYPE top_of() {         //Возвращает верхний элемент стека
        return s[top]; 
    }                               
    bool empty() {        //Проверяет, пустой ли стек
        return bool(top==EMPTY); 
    }                       
    bool full() {         //Проверяет, полный ли стек
        return bool(top==len-1); 
    }                       
};
 
 
void main(){
    
    stack<int> s(N);
    
    int i=0;
    while (!s.full())
        s.push(++i);
 
    cout<<"Stack:\n";
 
    while(!s.empty())
        cout<<s.pop()<<"\n";
 
    getch();
}
Есть два вопроса:
1. Можно ли используя уже созданные конструкторы в классе, вывести по аналогии с int символьные char ? или необхлдимо создавать новые конструкторы?
2. Собственно, помогите, пожалуйста, добавить в прогу, вывод символьных элементов.

Добавлено через 26 минут
вот сам подумал, дописал:

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
#include <iostream>
#include <conio.h>
using namespace std;
 
#define N 10
 
template <class TYPE>
class stack {
private:
    enum { 
        EMPTY=-1
    };
    TYPE *s;
    int len, top;
public:
    stack() {             //Создает стек из 1000 элементов
        len=1000; 
        s=new TYPE[1000]; 
        top=EMPTY; 
    }               
    stack(int size) {     //Создает стек из заданного числа элементов
        len=size; 
        s=new TYPE[size]; 
        top=EMPTY; 
    }       
    ~stack() {            //Удаляет стек
        delete s; 
    }                                           
    void reset() {         //Очищает стек
        top=EMPTY; 
    }                                       
    void push(TYPE c) {      //Добавить элемент в стек
        s[++top]=c;  
    }                               
    TYPE pop() {           //Забрать элемент из стека
        return s[top--];  
    }                               
    TYPE top_of() {         //Возвращает верхний элемент стека
        return s[top]; 
    }                               
    bool empty() {        //Проверяет, пустой ли стек
        return bool(top==EMPTY); 
    }                       
    bool full() {         //Проверяет, полный ли стек
        return bool(top==len-1); 
    }       
    
};
 
 
void main(){
    
    stack<int> s(N);
    
    int i=0;
    while (!s.full())
        s.push(++i);
 
    cout<<"Stack int:\n";
    
    while(!s.empty())
        cout<<s.pop()<<" ";
 
    cout<<endl<<"\n";
    cout<<"Stack char:\n";
    
    stack <char> s_ch(5); // stack из 4 элементов char
    s_ch.push('o');
    s_ch.push('l');
    s_ch.push('l');
    s_ch.push('e');
    s_ch.push('H');
 
    while(!s_ch.empty())
        cout<<s_ch.pop()<<" ";
    
    getch();
}
Работает как по заданию, но скажите это можно организовать как то через цикл с массивом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2011, 23:15
Ответы с готовыми решениями:

Есть готовая прога,только нужно модифицировать.
Есть готовая рабочая программа,но нужно сделать методы класса(типа проверить рабочий ли...

Нужно исправить пару строчек в коде с++
https://docs.google.com/document/d/1qN3ds3clGQp-DFco3hDJPTdi8zBO2p15c440S4NsPaI/edit вот задача ...

Поясните пару строчек
Приветствую форумчане! Поясните пожалуйста пару кусочков программы. 1 часть: char a; a=0; if...

Паскаль! Готовая рабочая прога, но немного не понятно!!! Подсобите....
Program Matrix; Const Range=3; Type Matr=array of byte; MMatr=array of integer; Var...

1
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
22.12.2011, 23:38 2
массивы надо удалять
C++
1
delete [] s;
и функция ресет не очищает стек.
0
22.12.2011, 23:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2011, 23:38
Помогаю со студенческими работами здесь

Есть готовая программа. Нужно её переделать и присоединить модули
Есть готовая программа. Нужно её переделать и присоединить модули. uses crt; function...

Задача Джонсона, она рабочая только нужно дописать чтобы она находила время простоя при оптимальной перестановке
Sub АлгоритмДжонсона() 'Курсовая работа по &quot;Математическим методам&quot; 'Группа 31-П 'Студентка...

Нужна готовая база в accesse(рабочая), по больше
Всем Добрый ддень!!!!Нужна готовая база в accesse(рабочая),желательно по больше.Очень надо...

Есть готовая программа, только EXE-файл без исходников, и по её примеру нужно написать программу в делфи
Есть готовая программа, только EXE-файл без исходников, и по её примеру нужно написать программу в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru