С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285

Проверить правильность расстановки в тексте круглых скобок

01.12.2014, 18:07. Показов 4158. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: Проверить правильность расстановки в тексте круглых скобок.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main(){
 string a;
 int i,j,l,r;
     cout<<"Vvedite stroky \n";
    getline(cin, a);
 i = a.length(); //длина строки a
   l=0; r=0;
   for (j=1; j=i; j++){ //цикл до конца строки а
       if (a[j]=='(') r=r+1; 
       if (a[j]==')') l=l+1;
       }
   if (r==l) 
    {cout<<"Skobki rasstavleni pravilno \n";} 
    else {cout<<"Skobki rasstavleni ne pravilno \n";}
 
 system ("pause");
}

Запускаю программу, она просто ничего не делает, переходит курсор на новую строку и всё. (На учебном компе, еще и выдавала ошибку (не отвечает)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2014, 18:07
Ответы с готовыми решениями:

Проверить правильность расстановки в тексте круглых скобок (конечный автомат)
Только начала изучать С++.Необходимо проверить правильность расстановки в тексте круглых скобок. Текст вводится с клавиатуры и...

Проверить правильность расстановки в тексте круглых скобок. Текст заканчивается точкой
Работает,но неправильно. Сделала конечным автоматом. Помогите, пожалуйста! #include &lt;iostream&gt; #include &lt;string&gt; ...

Дана строка символов проверить правильность расстановки круглых и квадратных скобок в выражениях
дана строка символов проверить правильность расстановки круглых и квадратных скобок в выражениях

13
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
01.12.2014, 18:09
Что покажет программа для ())(() ?
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
01.12.2014, 18:16  [ТС]
Вот и первая моя оплошность)
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
01.12.2014, 18:18
Используй одну переменную -счетчик. Будет короче и проще.
1
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 329
01.12.2014, 18:25
Цитата Сообщение от Frip Посмотреть сообщение
Проверить правильность расстановки в тексте круглых скобок
а еще можно решить эту задачу при помощи СТЕКОВ... Что более изящнее
0
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
01.12.2014, 18:25  [ТС]
zer0mail,
т.е. допустим взять i=0, если встречается 1 тип скобок, прибавляется 1, если другое - вычитается 1?

Не по теме:

P.S. Допустим, ошибку в написании понял, но почему она не запускалась вообще?

0
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 329
01.12.2014, 18:26
Цитата Сообщение от zer0mail Посмотреть сообщение
Используй одну переменную -счетчик. Будет короче и проще.
Короче - ДА, проще-ДА! но верно ли?
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
01.12.2014, 18:32
Цитата Сообщение от JavaUser Посмотреть сообщение
Короче - ДА, проще-ДА! но верно ли?
Зависит от того, что напишешь
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,012
01.12.2014, 18:40
Заводим переменную
C++
1
int result = 0;
и в цикле от первого до последнего символа строки
C++
1
2
3
4
5
6
7
8
{
  if (a[j]=='(') 
    result++;
  if (a[j]==')') 
    result--;
  if (result==-1)
    break;
}
и далее
C++
1
2
3
4
if (result!=0)
  // выводим сообщение, что расстановка скобок неверная
else
  // скобки расставлены верно
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
01.12.2014, 19:59  [ТС]
gunslinger,
Спасибо за совет.

Изменил в программе на все вышесказанное, но опять те же грабли. Ввожу строку, курсор переходит на следующую строку, и ничего не происходит
code

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
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main(){
 string a;
 int i,j;
 int result=0;
     cout<<"Vvedite stroky \n";
    getline(cin, a);
 i = a.length(); 
   for (j=1; j=i; j++){ 
        if (a[j]=='(') result++;
        if (a[j]==')') result--;
        if (result==-1) break;
}
 
   if (result!=0)
  {
  cout<<"Rasstanovka neverna! \n";
  }
else
  {
  cout<<"Rasstanovka pravilnaya \n";
  }
 //system ("pause");
}
Миниатюры
Проверить правильность расстановки в тексте круглых скобок  
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
01.12.2014, 20:46
for у тебя странный и неправильный
0
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
01.12.2014, 20:56  [ТС]
zer0mail, от первого до последнего символа. Поправьте пожалуйста
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,012
02.12.2014, 10:31
Лучший ответ Сообщение было отмечено Frip как решение

Решение

C++
1
for (j=1; j<=i; j++)
или
C++
1
for (j=0; j<i; j++)
просто не помню, с 0 или 1 нумерация начинается
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.12.2014, 21:01  [ТС]
В данном варианте походу 2ой вариант, т.к. работал через раз, то правильно, то нет. Когда в начале шли какие-нибудь символы, то все было нормально, а если сразу со скобок, то не работало. Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2014, 21:01
Помогаю со студенческими работами здесь

Проверить правильность расстановки и вложенности скобок в тексте (абстрактный стек)
реализовать с помощью связного списка...

Проверить в тексте файла правильность расстановки открывающих и закрывающих скобок
Помогите, пожалуйста написать программу C++ Дан текстовый файл INPUT.TXT. Проверить в тексте файла правильности расстановки открывающих и...

Написать рекурсивную функцию, проверяющую правильность расстановки круглых скобок в строке
Написать рекурсивную функцию, проверяющую правильность расстановки круглых скобок в данной строке.

Использование стека. Дана строка символов. Проверьте правильность расстановки в ней круглых скобок.
Использую пример программы от сюда: http://www.intuit.ru/department/algorithms/staldata/30/1.html Пример 1. Дана строка символов....

Проверить правильность расположения круглых скобок
Пусть задано множество строк. Проверить правильность расположения круглых скобок. Если скобки расположыне правильно, то последовательно...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru