Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
yeaahh
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 15
#1

Баланс скобок - C++

25.03.2013, 23:15. Просмотров 820. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста!!!
Собственно задание:
Текст в файле содержит многократно вложенные круглые скобки.
Если баланс скобок соблюден, исправить текст, оставив скобки
первого уровня круглыми, второго – заменить на квадратные,
третьего и последующих – на фигурные.

Добавлено через 1 час 19 минут
Помогите, очень нужно)
http://www.cyberforum.ru/cpp-beginners/thread32600.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 23:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Баланс скобок (C++):

Баланс скобок
Добавьте плиз условие чтоб )(-говорило что не баланс..я прост незнаю ...

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

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

Баланс круглых скобок
Проверить, соблюдается ли в тексте баланс круглых скобок. Для каждой...

Проверить баланс скобок
:)Здравствуйте. Помогите пожалуйста с задачей. Проверить имеется ли в...

5
eocron
Кактус
66 / 66 / 19
Регистрация: 23.05.2012
Сообщений: 342
26.03.2013, 00:37 #2
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
#include <iostream>
#include <string>
 
using namespace std;
 
char *s="ertert(a(aaa)a)";
 
int recurse(char* sl,char* sr,int num,int sqw)
{
     char* r=0;
     char* l=0;
     
     for(char* i= sl; i <= sr ; i++)
     {
             if(*i == ')'){return 0;}
             if(*i == '('){l=++i;break;}
     }
 
     for(char* i= sl + num -1 ;i >= sl; i--)
     {
             if(*i == '('){return 0;}
             if(*i == ')'){r=--i;break; }
     }
     if(!r && l || r && !l){return 0;}
     if(!r && !l){return 1;}
 
     if(sqw%2)
     {
               //çäåñü äåëГ*ГҐГёГј Г§Г*ìåГ*Гі r+1 ГЁ l-1 ñèìâîëîâ Г*Г* ] ГЁ [
     }
     
     return recurse(l,r,(int)r-(int)l+1,sqw+1);
}
int main()
{
          string str(s);
          cout<<recurse(s, s + str.size() - 1,str.size(),0)<<endl;
          cin.get();
}
Быстренько накатал. Считываешь текст в буфер и загоняешь в функцию. На выходе получаешь 1 или 0. Преобразовани ] [ делаешь там где написал.
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
26.03.2013, 02:29 #3
Можно используя стэк еще сделать, хотя там долго играться со скобками придется
0
yeaahh
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 15
28.03.2013, 22:34  [ТС] #4
Цитата Сообщение от yeaahh Посмотреть сообщение
Помогите пожалуйста!!!
Собственно задание:
Текст в файле содержит многократно вложенные круглые скобки.
Если баланс скобок соблюден, исправить текст, оставив скобки
первого уровня круглыми, второго – заменить на квадратные,
третьего и последующих – на фигурные.

Добавлено через 1 час 19 минут
Помогите, очень нужно)
Напишите пожалуйста код полностью, т.к я ещё новичок..
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
28.03.2013, 22:47 #5
yeaahh, так вам ведь написали уже
0
kravam
быдлокодер
1706 / 893 / 105
Регистрация: 04.06.2008
Сообщений: 5,524
28.03.2013, 22:53 #6
eocron, такие задачи коварны своей кажущейся простотой
C++
1
2
char s[]="ertert(()())";
char s[]="ertert(())()";
0
28.03.2013, 22:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 22:53
Привет! Вот еще темы с решениями:

Баланс скобок в файле
#include&lt;fstream.h&gt; #include&lt;iostream.h&gt; #include&lt;string.h&gt;...

Баланс фигурных скобок в файле
Вообщем нужно прочитать текст (любая программа, в файле name.txt) из файла и...

Проверять строку на баланс скобок
Драствуйте. Условие такое - написать програмку которая будет проверять строку...

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


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

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

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