Преобразование Infix в префиксную нотацию в JavaScript - PullRequest
0 голосов
/ 02 декабря 2019

(я задавал подобный вопрос в прошлом, но документация была неправильной, поэтому это правильная версия этого прошлого вопроса)

Пожалуйста, помогите мне в JavaScript: программа, которую я кодирую,тот, который принимает выражение в префиксной нотации и выводит то же выражение в инфиксной нотации. Идея этой программы заключается в следующем:

, если пользователь вводит + 1 2, ожидаемый результат равен 1 + 2. Все допустимые символы: +, -, *, / и%. Количество чисел, которое может ввести пользователь, должно быть неограниченным (например, если я введу + + + + + + + + + 1 2 3 4 5 6 7 8 9 10, программа должна вернуть 1 + 2 + 3 +4 + 5 + 6 + 7 + 8 + 9 + 10).

Может ли кто-нибудь помочь мне заполнить часть комментария в цикле, и если вы считаете, что есть лучший подход к проблеме полностью, яЯ открыт для этого!

function infix(input) {
  var x = input.split(''); // splits each variable and stores it in an array
  var output = [];
  var final = " "; // will be used to store our infix expression
  for (var i = 0; i < x.length; i++) {
    //if x[i] is any of the following : "+, -, *, /, or %" , store it in array output at index 0
    //else if x[i] is a number : store it in an index of array output that is >= 1

  }
  for (var j = 0; j < output.length; j++) {
    var final = x[0] + x[j];
  }
  console.log(final);
}

infix("1 + 2 + 3") // should output "+ + 1 2 3"
infix("1 - 2 % 3 + 1 * 4") // should output "- % + * 1 2 3 1 4"
...