![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.04.2021
Сообщений: 12
|
![]() Код:
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,708
|
![]()
Не надо на себя наговаривать:
Цитата:
Насколько помнит мой склероз курс АЯиЧМ - прежде чем реализовывать, надо расписать грамматику создаваемого языка: набор символов, набор правил и т.п. Если короче - какие будут операнды: константы, переменные, целые, вещественные и т.д. Проверка синтаксиса - нужна или предполагается, что входная строка корректна. А уж потом преобразовывать. https://ru.wikipedia.org/wiki/Обратная_польская_запись Последний раз редактировалось digitalis; 18.05.2021 в 20:49. |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.04.2021
Сообщений: 12
|
![]()
digitalis, ну во первих,я сам писал,а не знаю какая ошибка,просто на екран ничего не виводит в строку
|
![]() |
![]() |
![]() |
#4 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Оно не ничего не выводит, а падает. Во-первых, сделать "stack* poland = nullptr;", а то указатель не инициализирован, во-вторых, заменить NULL на nullptr, раз уж на плюсах пишем. После этого получаем что-то чуть более осмысленное:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.04.2021
Сообщений: 12
|
![]()
BDA, Да чет мусор какойто
![]() |
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Просто несколько раз дернули pop при пустом стеке. Но код еще отлаживать и отлаживать. Замечания при беглом просмотре: source_line должен быть большей длины, раз добавляются пробелы; не должно быть присвоений в expression; не должно быть сравнений с source_line; нет проверки на парность скобок (открывающая скобка одного вида, а закрывающая - другого); бесконечный цикл при несогласованности скобок (нет открывающей скобки для найденной закрывающей).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 22.04.2021
Сообщений: 12
|
![]()
BDA,
Код:
Код:
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Это нужно править в другом if.
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 22.04.2021
Сообщений: 12
|
![]()
BDA,
Код:
|
![]() |
![]() |
![]() |
#10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Потому что все тело ифа "if (isOperation(expression[i]) && (source_line[i] != '('))" и while в конце тоже требуют исправлений. Например, while:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 19.05.2021 в 01:13. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа которая вычисляет польскую инверсную запись на С++ или Паскаль | Casillas1 | Помощь студентам | 5 | 05.11.2014 16:07 |
Превод из инфиксной в обратную польскую запись | Anny_Apple | Помощь студентам | 0 | 11.04.2011 19:22 |
Перевод из инфиксной записи в обратную польскую | Anny_Apple | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 10.04.2011 20:49 |
Задача на обратную польскую запись | Horknee | Помощь студентам | 8 | 11.03.2009 22:09 |
Pascal Перевод в Польскую запись | ЮнПрог | Помощь студентам | 3 | 29.12.2008 13:51 |