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

Задачка на стек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки и работа над ними http://www.cyberforum.ru/cpp-beginners/thread419448.html
Есть следующее условие задачи: Ввести из файла текст, слова в тексте разделены пробелом , если слово состоит из чётного количества символов, то удалить в нём всё цифры. результат вывести на экран....
C++ Работа с файлами.Требуется корекктировка Код работает находит самое длинное слово , его длину , но не корректно вычисляет кол-во заданных слов входящих в текст Пожалуйста решите проблему #define _CRT_SECURE_NO_DEPRECATE #include... http://www.cyberforum.ru/cpp-beginners/thread419444.html
C++ Проверка симметричности булевых функций
Задача:Проверка симметричности Булевых функции, подкиньте идею мне этого хватит, заранее спасибо)
C++ Ввести строку символов, которая есть фрагментом программы и записать в файл
Искал по форуму - не нашел. Задача: Ввести строку символов, которая есть фрагментом программы, написанной на языке С++ и записать все это в файл. Подсчитать, сколько раз среди символов появляются...
C++ 1е-005 -> 0.00001 http://www.cyberforum.ru/cpp-beginners/thread419426.html
Здравствуйте. Как в выводе дробного числа заменить "1е-005" на "0.00001", скажем? Спасибо.
C++ заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей помогите, пожалуйста, написать программу на С или С++ Нужно заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого верхнего угла вниз - вправо.... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
28.12.2011, 03:20
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
#include <iostream>
#include <string>
#include <stack>
 
enum Brackets {
  LEFT_BRACKET = '(',
  RIGHT_BRACKET = ')'
};
 
struct Bracket {
  Bracket(Brackets bracket_, size_t position_)
    : bracket(bracket_), position(position_) {}
  Brackets bracket;
  size_t position;
};
 
int main(int argc, char *argv[]) {
  std::string expression = "A+(45-F(X)*(B-C))";
  std::stack<Bracket> stack;
  for (size_t i = 0; i < expression.size(); ++i)
    if (expression[i] == LEFT_BRACKET) {
      stack.push(Bracket(LEFT_BRACKET, i));
    } else
    if (expression[i] == RIGHT_BRACKET) {
      Bracket bracket(RIGHT_BRACKET, i);
      if (stack.empty()) {
        std::cout << "Error in expression." << std::endl;
        break;
      } else if (stack.top().bracket == LEFT_BRACKET) {
        std::cout << "[" << stack.top().position << ":" << i << "] ";
        stack.pop();
      }
    }
  if (!stack.empty())
    std::cout << "Error in expression." << std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru