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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чекер вещей Team Fortess 2 http://www.cyberforum.ru/cpp-beginners/thread655953.html
Здравствуйте я буквально вчера заинтересовался языком програмирования С++ у меня есть очень хорошая книга там всё подробно описуеться что это как действует!! Итог за 2 дня уже прошёл if,else,while...
C++ не могу понять ошибку типов переменных при деление идет обращение в ноль проблема в том что при деление у ми идет обращение в 0, хотя по сути его не должно быть const int m=10, n=1000; // по заданию m-разбиение, n- кол-во запусков for(int i=1;i<=m;i++) { ... http://www.cyberforum.ru/cpp-beginners/thread655942.html
C++ find() from string!
Ищу в строке вхождения подстроки, запоминаю номер. Если нашел, то удаляю подстроку и вставляю соответствующий ей ключ с той же позиции. Проблема в чем - если я найду подстроку, которая находится...
Freetype 2 Как получить bearingY глифа? C++
Вот описание метрик глифа. Интересует bearingY. Гугл не помог. Вот собсна описание метрик. http://www.freetype.org/freetype2/docs/glyphs/glyphs-3.html
C++ Borland C++ for DOS http://www.cyberforum.ru/cpp-beginners/thread655877.html
Здравствуйте, я начинаю изучать С++ в институте. Программы необходимо писать в Borland C++ for DOS. Я разобрался с основными функциями, однако не знаю, что такое вкладка "Debug" и как пользоваться...
C++ Организация счетчика Доброго вечера, форумчане) вопрос начинающего программиста, как организовать счетчик при помощи побитовых операций? Т.е., как я понимаю есть какая-то переменная, в которой нужно сдвигать биты тем... подробнее

Показать сообщение отдельно
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13

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

22.09.2012, 11:34. Просмотров 1550. Ответов 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;  
}
Подскажите, пожалуйста, какой должен быть алгоритм? Задача поначалу показалась лёгкой, но посидев, подумав, понял что не всё так просто.
Надо ли использовать Обратную Польскую Запись, или можно и попроще?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru