Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 24
1

Проверить баланс скобок

05.04.2010, 09:06. Просмотров 3326. Ответов 2
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста с задачей.
Проверить имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок, т.е. верно ли, что можно установить взаимно однозначное соответствие открывающихся и закрывающихся скобок, со следующими свойствами: а) Открывающаяся скобка всегда предшествует закрывающейся.
б) Первый и последний символ текста пара "(" и ")".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2010, 09:06
Ответы с готовыми решениями:

Проверить баланс скобок в тексте программы
Задача: Создать файл в котором есть программа бейсик. Проверить на соответствие открытые и...

Проверить баланс скобок в текстовом файле
1. из файла f1 выводится текст (текст со скобками) 2. проверяется соответствие скобок 3. если не...

Проверить баланс круглых скобок, используя очередь
Добрый день. Преподавателем поставлена следующая задача: дан текстовый файл с программой на...

Баланс скобок
Доброе утро, мне было задано написать программу о том, соответствует ли каждой открывающей скобке,...

2
33 / 25 / 7
Регистрация: 08.11.2008
Сообщений: 107
05.04.2010, 10:27 2
Лучший ответ Сообщение было отмечено Danielsatan как решение

Решение

Можно вот так попробовать
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 <iostream>
using namespace std;
 
int main()
{
    string a = "(asdsad(( asd ) f)dsaf)";
    int c=0;                      //Создадим переменную счетчик
    //Проверка на первый и последний символ
    if(a[0] != '(' || a[a.length() - 1] != ')')
    {
            printf("ERROR\n");
            system("pause");
            return 0;
            }
    for(int i=0; i <= a.length(); i++)
    {
            if(a[i]=='(')
                   c++;           //Если встречаем "(" то +1 к счетчику
            if(a[i]==')')
                   c--;           //Если встречаем ")" то -1
            if(c<0)
                   break;         //Если встретили ")" но до этого не встречали "(" то сразу вылазим с цикла
            }
    if(c!=0)
            printf("ERROR!!!\n");
    else
        printf("Vse norm\n");
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 24
12.04.2010, 04:03  [ТС] 3
Большое спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2010, 04:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Баланс скобок
Люди может укажите мне на ошибку в программе по которой не находит баланс..? #include&lt;iostream.h&gt;...

Баланс скобок
Помогите пожалуйста!!! Собственно задание: Текст в файле содержит многократно вложенные круглые...

Баланс скобок
проверить правильность расстановки скобок, используя контейнерные типы(стек)

Баланс скобок
Добавьте плиз условие чтоб )(-говорило что не баланс..я прост незнаю #include &lt;stdio.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.