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

Проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что из себя представляет допустим поток ввода/вывода http://www.cyberforum.ru/cpp-beginners/thread1077079.html
Поясните пожалуйста что из себя представляет допустим поток ввода/вывода в С++ ? Это участок памяти который представляет собой что-то вроде буфера обмена или как ?
C++ Ввести массив в виде таблицы и переставить его элементы местами То есть последний элемент в массиве становится предпоследним и тд... Вот я написал массив в виде таблицы (вывел макс. число). Что мне нужно сделать / изменить в коде программы чтобы элементы поменять местами? Код : #include <iostream> #include <iomanip> using namespace std; int main() { const int n = 4, m = 5; http://www.cyberforum.ru/cpp-beginners/thread1077063.html
В одномерном массиве четные элементы разделить на 2, нечетные умножить на 3 C++
Люди помогите пожалуйста, не знаю как сделать программу. В одномерном массиве четные элементы разделить на 2,нечетные умножить на 3.
Для произвольных значений a, b вычислить решение системы неравенств C++
Для произвольных значений a, b вычислить решение системы неравенств (с применением условных операторов) \begin{cases} & ax-b\geq 0 \\ &(b-a)x \leq 1 \end{cases} p.s. заранее спасибо!
C++ Вывести индекс элемента в конце каждой строки матрицы http://www.cyberforum.ru/cpp-beginners/thread1077014.html
Самый маленький элемент - 10 , его индекс - 2, как это записать с помощью циклов , не могу вывести именно индекс элемента в конце каждой строчки матрицы ... #include <iostream> #include <iomanip> int main() { const size_t rowsCount(4); const size_t colsCount(5);
C++ Как реализовать набор конструкторов и деструкторов Делаю так: #include <iostream> class Time //начало объявления класса { public: //начало раздела public Time(int sec); //конструктор ~Time(); //деструктор private: //начало раздела private int ntime; //переменные члены подробнее

Показать сообщение отдельно
Demy85
58 / 58 / 5
Регистрация: 28.05.2012
Сообщений: 210
Завершенные тесты: 1
22.01.2014, 09:34     Проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок
Давно я такого не писал. Должно быть где-то так:
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
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <string.h>
#include <iostream>
 
#define CHECK(exp) std::cout << exp << ": " << (parse(exp) ? "+" : "-") << std::endl
 
bool bracket();
bool round_bracket();
bool square_bracket();
bool square_or_round_bracket();
 
const char *str = NULL;
 
bool parse(const char *exp)
{
  str = exp;
  return bracket();
}
 
// <скобки> ::= <СКБ> <скобки> | e
bool bracket()
{
  if (*str == '\0')
    return true;
 
  if (!square_or_round_bracket())
    return false;
 
  if (*str == '\0')
    return true;
 
  switch (*str)
  {
  case '(':
    return round_bracket();
  case '[':
    return square_bracket();
  default:
    return true;
  }
}
 
// <круглые скобки> ::= ( <скобки> )
bool round_bracket()
{
  if (*str == '(') str++;
  else return false;
 
  if (*str == ')')
  {
    str++;
    return true;
  }
 
  if (!bracket())
    return false;
 
  if (*str == ')') str++;
  else return false;
 
  return true;
}
 
// <квадратные скобки> ::= [ <СКБ> <СКБ> <скобки> ]
bool square_bracket()
{
  if (*str == '[') str++;
  else return false;
 
  if (!square_or_round_bracket())
    return false;
 
  if (!square_or_round_bracket())
    return false;
 
  if (*str == ']')
  {
    str++;
    return true;
  }
 
  if (!bracket())
    return false;
 
  if (*str == ']') str++;
  else return false;
 
  return true;
}
 
// <СКБ> ::= <квадратные скобки> | <круглые скобки>
bool square_or_round_bracket()
{
  switch (*str)
  {
  case '(':
    return round_bracket();
  case '[':
    return square_bracket();
  default:
    return false;
  }
}
 
int main()
{
  CHECK("[()()]()");
  CHECK("([()[()()]])");
  CHECK("(())");
  CHECK("((()[()[()()]]))");
  CHECK("[()]");
  CHECK("[]");
  CHECK(")(");
  CHECK("(()");
 
  return 0;
}
 
Текущее время: 02:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru