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

Можно ли добавить в последовательность из различных скобок цифры и знаки, чтобы получилось правильное арифметическое выражение? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнить строки из xls-файлов на совпадение символов и создать файлы с результатами. http://www.cyberforum.ru/cpp-beginners/thread1095750.html
Задача выглядит так. Имеется 2 xls-файла, которые надо сравнить. К примеру, в первом файле цифры с 1,2,3,5,6,7,8,10 А во втором только цифры 2,4,6,8,10. Соответственно результат в третьем...
C++ Составить класс, который отыскивает проход по лабиринту Помогите пожалуйста. Составить класс, который отыскивает проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в... http://www.cyberforum.ru/cpp-beginners/thread1095728.html
C++ Почему не производится операция деления?
Есть код, приведенный ниже. Никак не могу разобраться, почему не производится операция деления при заполнении массива p, заполнения тоже не производится. Пробовала операцию просто присваивания,...
C++ Исключения
читаю про исключения, сама концепция понятна, но стоит ли вообще заострять на исключениях своё внимание? например описан класс exception, от него куча всяких производных классов типа logic_error и...
C++ error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *" http://www.cyberforum.ru/cpp-beginners/thread1095685.html
1>c:\proect\8\8\8.cpp(64): error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)" в "const char *" for(int i = 0; i< 5; i++) { wr_struc (list); if...
C++ тестирование менеджера памят Доброго времени суток всем, в универе дали ребяткам лабы: 1. Реализовать менеджер памяти с выделением блоков различного размера. 2. Реализовать менеджер памяти с перемещающимися блоками.... подробнее

Показать сообщение отдельно
Alex_244
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 79
03.01.2016, 16:57
В продолжение темы. Попытался переделать этот код без использования STL, но почему то не работает, исправьте пожалуйста, ошибки.
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
struct stack
{
    int x;
    stack *next;
} *top, *cur;
 
void push(int i, char *str1)
{
    top = new stack;
    top->next = NULL;
    cur = top;
    cur = new stack;
    cur->x = str1[i];
    cur->next = top;
    top = cur;
}
int ControlOfThesis(char *str)
{
    for (int i = 0; i < strlen(str); i++)
    {
        if ((str[i] == '(') || (str[i] == '{') || (str[i] == '['))
 
            push(i, str);
 
        else{
            stack *temp = top;
            if (temp->next) return 0;
            char t = top->x;
            delete temp;
 
            if ((t == '(' && str[i] != ')') ||  // если тип последней открывающей скобки 
                (t == '{' && str[i] != '}') ||  // не совпадает с текущей закрывающей скобкой 
                (t == '[' && str[i] != ']'))    // значит скобки в неправильном порядке
                return 0;
 
        }
 
 
    }
    return 1;
}
 
int main()
{
    char *str = "({[]})";
    if (ControlOfThesis(str)) cout << "YES\n";
    else cout << "NO!\n";
    system("pause");
    return 0;
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru