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

Проверка скобочной записи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построение кривой Безье http://www.cyberforum.ru/cpp-beginners/thread182489.html
Вобщем написал я код для построения, но почему-то оно строит кривую от точки (0,0) до первой точки вектора, а нужно, чтобы от первой точки вектора до последней. Сам не вижу ошибки, может кто...
C++ Датчик случайных чисел С помощью датчика случайных чисел получить 10 вещественных чисел от -50 до 50 #include <iostream> #include <ctime> using namespace std; void main() { double n; http://www.cyberforum.ru/cpp-beginners/thread182477.html
Номер строки в матрице C++
Здравствуйте, вот задача, помогите пожалуйста: Определить номер строки с минимальным количеством нулевых элементов и сложить элементы этой строки с элементами всех нечетных строк. Весь код...
Разные экземпляры класса ? C++
Есть класс Visitor и в нем объявленна функция void visitor:: enterToPark(jurassicPark jp){ //Trying to enter to park at every random 10 seconds if he isn't in park if (isInsidePark != true) {...
C++ Удалить из первой строки символы, которых нет во второй http://www.cyberforum.ru/cpp-beginners/thread182463.html
Составить процедуру, в результате обращения к которой из первой заданной строки удаляется каждый символ, принадлежащий и второй заданной строке.
C++ В тех словах, которые оканчиваются сочетанием букв ing, заменить окончание на ed Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. В тех словах, которые оканчиваются сочетанием букв ing,... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
27.10.2010, 17:54
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
#include <stdio.h>
 
int func(const char* str, int cnt)
{
    if(cnt < 0)
        return 0;
    if(*str)
    {
        switch(*str)
        {
        case '(':
            return func(++str, ++cnt);
        case ')':
            return func(++str, --cnt);
        default:
            return func(++str, cnt);
        }
    }
    return (cnt == 0 ? 1 : 0);
}
 
int main()
{
    const char* foo = "((d )(sf()kl( ))()";
    if(func(foo, 0))
        puts("Correct!");
    else
        puts("Incorrect!");
    return 0;
}
Вот без рекурсии:
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
#include <stdio.h>
 
int func(const char* str)
{
    int cnt;
    for(cnt = 0; (cnt >= 0) && (*str); ++str)
        switch(*str)
        {
        case '(':
            ++cnt;
            break;
        case ')':
            --cnt;
        }
        
    return (cnt == 0 ? 1 : 0);
}           
 
int main()
{
    const char* foo = ")((d )(sf()kl( ))())";
    if(func(foo))
        puts("Correct!");
    else
        puts("Incorrect!");
    return 0;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru