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

Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Kiker
1 / 1 / 0
Регистрация: 12.11.2011
Сообщений: 18
17.11.2011, 10:47     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #1
Всем добрый день)
вот такая задача привела меня в ступор:

"Проверить, соблюдается ли равен¬ство открывающихся и закрывающихся скобок. Если равенство соблюдается, то вывести соответствующее сообщение, в противном случае вывести количество открывающихся и закрывающихся скобок.

((ln|sinx|)^(1/3))/((e^(a+b)) + 1) "

кто знает прошу помочь,заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 10:47     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок
Посмотрите здесь:

C++ Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке
Проверить, выполняется ли равенство a<b<c. C++
C++ проверить равенство (C++)
C++ Проверить, одинаково ли число открывающихся и закрывающихся скобок в данной строке. Определить длину строки, результат вывести на экран.
Ввести строку символов и найти баланс открывающихся и закрывающихся скобок C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 11:11     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #2
а моск включить нельзя?
Считаешь число левых и правых скобок. Сравниваешь результат.

exp - массив чаров, содержащий твое выражение и заканчивающийся нулевым символом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int left = 0;
int right = 0;
for(int i =  0; i < strlen(exp);++i)
{
if(exp[i] =='(')
++left;
else if(exp[i]=='(')
++right;
}
if(left == right)
printf("All good.");
else
printf("All pizdec. Left - %d,Right - %d",left,right);
Байт
 Аватар для Байт
13954 / 8785 / 1221
Регистрация: 24.12.2010
Сообщений: 15,894
17.11.2011, 11:25     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #3
Aneron, я бы еще добавил в цикле проверочку
C
1
if (right > left) printf("Errrrror!");
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 11:27     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #4
Цитата Сообщение от Aneron Посмотреть сообщение
else
printf("All pizdec. Left - %d,Right - %d",left,right);
Этого мало?
Kiker
1 / 1 / 0
Регистрация: 12.11.2011
Сообщений: 18
17.11.2011, 11:44  [ТС]     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #5
спасибо огромное ребята
чётко,могёте))
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 11:47     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #6
Цитата Сообщение от Kiker Посмотреть сообщение
могёте))
по русски
Байт
 Аватар для Байт
13954 / 8785 / 1221
Регистрация: 24.12.2010
Сообщений: 15,894
17.11.2011, 14:23     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #7
Цитата Сообщение от Aneron Посмотреть сообщение
Этого мало?
Дело в том, что скобочная структура " ( ) ) (" хоть и пройдет твой тест, но является неверной. Хотя в задании этого не сказано.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
17.11.2011, 14:52     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #8
Цитата Сообщение от Aneron Посмотреть сообщение
for(int i = *0; i < strlen(exp);++i)
{
if(exp[i] =='(')
++left;
else if(exp[i]=='(')
++right;
}
Это нормально?
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 15:17     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #9
Цитата Сообщение от soon Посмотреть сообщение
Это нормально?
это очепятка.


Цитата Сообщение от Байт Посмотреть сообщение
Дело в том, что скобочная структура " ( ) ) (" хоть и пройдет твой тест
каким образом пройдет? я по символьно сравниваю. так что структура там ни как не пройдет
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.11.2011, 15:22     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #10
надо через стек делать

Добавлено через 1 минуту
Цитата Сообщение от Aneron
каким образом пройдет?
количество открывающих равно количеству закрывающих
))(( тоже пройдёт, хотя не является правильной
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 15:26     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок
Еще ссылки по теме:

C++ Проверить программу на соответствие числа открывающихся и закрывающихся круглых и фигурных скобок
Проверить сколько открывающихся скобок, и сколько закрывающихся C++
Проверка числа открывающихся и закрывающихся скобок C++

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

Или воспользуйтесь поиском по форуму:
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 15:26     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок #11
ааа. Ты порядок следования скобок имеешь ввиду. Это да. Согласен с тобой.
Автор темы не просил проверять корректность порядка следования скобок.
Yandex
Объявления
17.11.2011, 15:26     Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок
Ответ Создать тему
Опции темы

Текущее время: 18:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru