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

Строку в обратную польскую запись - C++

Восстановить пароль Регистрация
 
Tmin100
 Аватар для Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
17.11.2012, 13:05     Строку в обратную польскую запись #1
Подскажите, как представить выражение из строки в обратную польскую запись и потом посчитать?
Наверное есть уже готовые алгоритмы...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2012, 13:36     Строку в обратную польскую запись #2
Конечно, http://ru.wikipedia.org/wiki/Обратная_польская_запись

Добавлено через 1 минуту
А вот пример на Си http://algolist.manual.ru/maths/misc/revpn.php
Tmin100
 Аватар для Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
17.11.2012, 14:18  [ТС]     Строку в обратную польскую запись #3
Я и спрашивал, для того, чтобы не изобретать велосипед...

Вопрос по тому коду: всё вроде прекрасно, но IDE ругается на
C++
1
2
3
4
5
6
7
struct st *PTR;
  /* Выделение памяти */
  if((PTR=malloc(sizeof(struct st)))==NULL) 
  {
  /* Если её нет - выход */
    puts("ет памяти");exit(-1);             
  }
Что void который отдаёт maloc() не преобразуется в структуру st...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12093 / 6954 / 782
Регистрация: 27.09.2012
Сообщений: 17,241
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 14:20     Строку в обратную польскую запись #4
Цитата Сообщение от Tmin100 Посмотреть сообщение
Что void который отдаёт maloc() не преобразуется в структуру st...
В C++ необходимо явно преобразовать тип.
Tmin100
 Аватар для Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
17.11.2012, 14:24  [ТС]     Строку в обратную польскую запись #5
Да, уже понял, только как то некорректно работает программа, выдавая
просто перечисление операций, буду разбираться, как же она работает...
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2012, 14:31     Строку в обратную польскую запись #6
Цитата Сообщение от Tmin100 Посмотреть сообщение
Что void который отдаёт maloc() не преобразуется в структуру st...
Какой компилятор?
Читаем еще раз
Цитата Сообщение от go Посмотреть сообщение
А вот пример на Си
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 16:01     Строку в обратную польскую запись
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Tmin100
 Аватар для Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
17.11.2012, 16:01  [ТС]     Строку в обратную польскую запись #7
Откомпилировал на С, получается вот что:
Код
tmin10@Netter:~$ ./a.out 
Введите выpажение(в конце '='):
2+2*2=

*+

Повтоpить(y/n)?
n
Добавлено через 1 час 1 минуту
Решил написать сам код по тому алгоритму, но не пойму, почему на 9 символе при добавлении + в стек не вытесняется *, ведь по 2 правилу у него приоритет выше...

Добавлено через 3 минуты
Отвечаю на свой предыдущий вопрос, та прога работает только с буквами

Добавлено через 11 минут
Всё, вопросов не имею, вроде работает моя прога...
Yandex
Объявления
17.11.2012, 16:01     Строку в обратную польскую запись
Ответ Создать тему
Опции темы

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