Функция InFix to PostFix Оператор не отображается - PullRequest
0 голосов
/ 13 апреля 2020
//Here is the code when I run it operands are displayed but all operators are garbage data. Can you please help me figure it out. 

if (isOperator(expression[i]) == 0)
          {
                  while (((isEmpty() != -1) && (priority(expression[i]) <= priority(stack[getTop()]))))
                  {
                    exp[j++] = expression[i];
                  }
                  push(expression[i]);
          }

while проверяет, является ли стек пустым и приоритет оператора меньше или равен приоритету ранее существовавшего оператора. IsOperator проверяет, является ли отсканированный символ оператором, и возвращает 0 или 1, i - это счетчик для l oop, который пересекает всю строку. А также является индексом входного выражения. j - это индекс выходного выражения

, например, когда я ввожу: a + b- c d ожидаемый вывод: ab + cd - реальный вывод: abcd?

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