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

Дана строка, содержащая латинские буквы и скобки. Если скобки расставлены правильно - вывести 0. Иначе - номер позиции, где есть ошибочная скобка

22.05.2013, 16:18. Просмотров 2342. Ответов 3
Метки нет (Все метки)

Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то есть каждой открывающей соответству-ет одна закрывающая), то вывести число 0. В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число –1.
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() 
{ 
    setlocale(LC_ALL,"russian");
  char str[1024]; 
  cin.getline(str, 1023);
  int temp = 0;
  int c;
  int m = 1; 
  if (str) 
  { 
    for (const char *s = str; *s; s++) 
    { 
      if (*s == '(')
      { 
        temp++; 
      } 
      else if (*s == ')')
      { 
        if (--temp < 0) 
        { 
          cout << "Error position = " << s - str << endl; 
        }
        if (temp > 1)
        { c = temp;
        temp = m;
        m = c; }
      } 
    } 
  } 
      cout << -temp << endl; 
  getch();
}
Написал код, но если поставить ())) то он выдает позицию, и еще к нему число, помогите убрать число в конце
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 16:18
Ответы с готовыми решениями:

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

Проверить, правильно ли расставлены скобки в выражении
Задача: &quot;Строка содержит арифметическое выражение, в котором используются...

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

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

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

3
gray_fox
What a waste!
1554 / 1259 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
22.05.2013, 16:27 2
Цитата Сообщение от detSD Посмотреть сообщение
C++
1
2
3
if (--temp < 0) {
   cout << "Error position = " << s - str << endl;
}
C++
1
2
3
4
if (--temp < 0) {
   cout << "Error position = " << s - str << endl;
   break;
}
1
detSD
0 / 0 / 1
Регистрация: 22.04.2013
Сообщений: 16
22.05.2013, 16:31  [ТС] 3
Добавлено через 1 минуту
gray_fox, спасибо, теперь он перестал, считать позиции, но все равно выдает в конце число temp
0
gray_fox
What a waste!
1554 / 1259 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
22.05.2013, 16:33 4
Цитата Сообщение от detSD Посмотреть сообщение
C++
1
cout << -temp << endl;
C++
1
2
3
if (temp >= 0) {
   std::cout << ((temp == 0) ? 0 : -1) << std::endl;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 16:33

Дана строка из 20 символов. вывести из неё латинские строчные буквы
Дана строка из 20 символов. Вывести из нее на печать только строчные буквы...

Дана строка, содержащая два слова, разделённых пробелом, вывести неповторяющиеся буквы слов.
Срочно до утра нужно построить несколько алгоритмов на С++. Кто может помогите!...

С++ Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова содержащие 3 буквы
ребята, буду очень благодарна за программу! и если не сложно, добавьте...


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

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

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