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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13
#1

Задача: Убрать лишние скобки - C++

22.09.2012, 11:34. Просмотров 1384. Ответов 1
Метки нет (Все метки)

Описание

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


Input

Первая строка - произвольная цифра, обозначающая сколько строк с выражениями будут введены (число строк не больше 10).
Затем вводятся строки с выражениями, в строке могут быть лишние скобки, длина строки не превышает 255 символов. Выражения содержат лишь операции сложения и вычетания. ("+" и "-")


Output

Вывести изменённые строки без лишних скобок.

Например, Input:
3↵
(a-b+c)-(a+(b-c))-(c-(d-e))↵
((a)-((b)))↵
a-(b+c)↵

Output:
a-b+c-(a+b-c)-(c-(d-e))↵
a-b↵
a-(b+c)↵


Мой код:

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 <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char* edit (char str[256]) {
  char newStr[256];
 
// Edit expression
  
  return newStr;
}
 
int main() {
 
  int n, i;
  char str[256];
  
  scanf("%d", &n);
  for (i=0; i<n; i++) {
    scanf("%s", str);
    printf("%s\n", edit(str));
  }
 
 
  printf("\n");
  system("PAUSE");
  return 0;  
}
Подскажите, пожалуйста, какой должен быть алгоритм? Задача поначалу показалась лёгкой, но посидев, подумав, понял что не всё так просто.
Надо ли использовать Обратную Польскую Запись, или можно и попроще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2012, 11:34     Задача: Убрать лишние скобки
Посмотрите здесь:

Программа проверки файла (ов) на лишние скобки - C++
Всем привет. Понимаю, что суть вопроса не нова, но все же, может кто сможет помочь в данном вопросе. Есть много файлов, в которых очень...

Убрать лишние пробелы - C++
отформотировать строку 1)убрать все лишние пробелы 2) убрать 1 пробел после знака препинания ПЕРВУЮ ЗАДАЧУ РЕШИЛ . ...

Убрать лишние строчки флагами - C++
Господа, прошу помощи)) Если вводить номера поездов, а затем выбрать номер поезда, то выводится лишняя строчка о том, что поезд не...

Как убрать лишние нули? - C++
Как убрать лишние нули? void Gaus::outPut_AB() { for (int i = 0; i &lt; n; i++) { printf(&quot;\t&quot;); for (int j = 0; j &lt; n; j++)...

Убрать лишние пробелы в строке - C++
дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так чтобы между словами оставался один пробел

В тексте убрать лишние пробелы и разделительные символы - C++
1. Определить какие символы и сколько раз встречаются в тексте. Или 2. В тексте убрать лишние пробелы и разделительные символы,...

Убрать лишние(повторяющиеся) пробелы, и записать в файл - C++
помоги, пожалуйста, доработать программу Надо убрать лишние(повторяющиеся) пробелы, и записать в файл using namespace std; int...

Перевод в шестнацатиричную систему счисления (убрать лишние нули) - C++
Помоги с задачкой пожалуйста. #include&lt;iostream&gt; using namespace std; void dtas(int num) { cout &lt;&lt; &quot;Число &quot; &lt;&lt; num &lt;&lt;...

Убрать лишние пробелы, оставить по одному пробелу между слов - C++
Помогите пожалуйста!!! Убрать лишние пробелы, оставить по одному пробелу между слов. (С++)

Задача про скобки - C++
Всем привет. Недавно показали мне такую задачу: ... намекнув на рекурсию. Кто-нибудь знает, как это решается? Спасибо :) ...

Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки - C++
Доброго времени суток. Подскажите пожалуйста алгоритм или путь к решению задачи, используя СТЕК Дана ПСП, ваша задача для каждой...

Скобки и if else - C++
Задача такова: имеется некая &quot;база данных&quot;: int m= { 0,7,0,4,3,1, 0,3,6,3,1,2, 5,4,3,5,2,5, 1,2,5,0,5,2 }; И мне...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.09.2012, 13:32     Задача: Убрать лишние скобки #2
Цитата Сообщение от arreke Посмотреть сообщение
в строке могут быть лишние скобки
Это значит, что на вход может быть подана такая строка "a+)b"?

Алгоритм - если перед открывающей скобкой не стоит минус, или в скобках стоит только одна переменная, значит эту пару скобок можно убрать.
Yandex
Объявления
22.09.2012, 13:32     Задача: Убрать лишние скобки
Ответ Создать тему
Опции темы

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