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

Построить распознаватель языка с помощью стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Страуструп, и траблы в среде программирования http://www.cyberforum.ru/cpp-beginners/thread649642.html
Всем добрых суток! Я начал изучение где-то 3 дня назад, 3 дня от компьютера не отхожу ,читаю, делаю записи в тетради. Мне это очень интересно, у меня много энтузиазма, поэтому не могу не задать тупой вопрос, на форуме мастеров. Начал читать - "C++ для чайников" - сразу понял ,что не мое, и старая литература. , потом "Дейтел - Как программировать на C++" - очень понравилось, 2 дня читал,...
C++ Что такое компилятор? и т.д Всем привет, может быть пост не в тему! Но очень хотелось бы знать, что такое компилятор, и как он работает, подробней узнать. Спасибо за ответ P.S я новичок :) http://www.cyberforum.ru/cpp-beginners/thread649634.html
Вычислить значение выражения, найти сумму ряда C++
ребята! до завтра решите задачу. пожалуйста. я ноль в программировании а)x = arccos(\sqrt{\beta }y - a) б)S = 4 + \sum_{i=1}^{50}{i}^{2} Добавлено через 2 часа 13 минут с этой тоже помогите пожалуйста
Составить алгоритм определения последовательности номеров удаляемых спортсменов C++
ребята! до завтра ришите задачу. пожалуйста. я ноль в программировании по кругу стоят N спортсменов с номерами от 1 до N. начиная с кокого-то человека,по кругу удаляется каждый k-ый спортсмен. после каждого удаления круг смыкается. составить алгоритм определения последовательности номеров удаляемых спортсменов.
C++ По введенному значению аргумента вычислить значение функции, заданной в виде графика http://www.cyberforum.ru/cpp-beginners/thread649609.html
Задание 1. Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры. Задание 2. Вычислить и вывести на экран в виде таблицы значения функции, заданной графически ( см. задание 1 ), на интервале от xнач до xкон с шагом dx. Интервал и шаг задать таким образом, чтобы проверить все ветви программы. Таблицу...
C++ Что такое globalFix? Задача: ввести с клавиатуры строку символов, удалить из нее все гласные буквы, используя функции. Ниже приведено решение (не мое, взял у доброго человека), но мой компилятор (DevC++) спотыкается на строке if (i == (id - globalFix)) { , сообщение компилятора: `globalFix' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it... подробнее

Показать сообщение отдельно
Kidasov
77 / 77 / 12
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
11.09.2012, 00:44
Прочитайте про польскую запись http://ru.wikipedia.org/wiki/%D0%9E%...B8%D1%81%D1%8C
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
//Реализация польской записи на стеке(код рабочий хотя и много лишнего, давненько я его писал)
 
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
 
 
template <class Item>
class Stack {
private:
    int N;
    int *a;
public:
    Stack();
    ~Stack();
    void push(int val);
    void pushStr(char *str);
    Item pop();
    void output() const;
};
 
 
template<class Item> Stack<Item> :: Stack() {
    a = new int[30];
    N = 0;
}
 
template<class Item> Stack<Item> :: ~Stack() {
    delete[] a;
    a = NULL;
}
 
template<class Item> void Stack<Item> :: output() const {
    for (int i = 0; i < N; i++) {
        std :: cout << a[i] << " ";
    }
    std :: cout << std :: endl;
}
 
template<class Item> void Stack<Item> :: push(int val) {
    a[N++] = val;
}
 
 
template<class Item> Item Stack<Item> :: pop() {
    return a[--N];
}
 
template<class Item> void Stack<Item> :: pushStr(char *str) {
    for (int i = 0; i < strlen(str); i++) {
        if (str[i] != '-' && str[i] != '+' && str[i] != '*' && str[i] != '/' && (str[i] >= 0 || str[i] <= 9)) {
            push(str[i] - '0'); 
        }
        else {
            switch(str[i]) {
                case '+' : push(pop() + pop()); break;
                case '-' : push(pop() - pop()); break;
                case '*' : push(pop() * pop()); break;
                case '/' : push(pop() / pop()); break;
                default: std :: cout << "Error" << std :: endl;
            }
        }
    }
}
 
 
int main() {
    Stack<int> ob;
    char str[256];
    std :: cout << "Enter expression: " << std :: endl;
    gets(str);
    ob.pushStr(str);
    ob.output();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru