问题标签 [infix-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3013 浏览

common-lisp - Common lisp:有没有一种不那么痛苦的输入数学表达式的方法?

我喜欢普通的 lisp,但有时输入简单的数学表达式真的很痛苦,比如

(当然我可以转换这个,但它有点慢,我先写(+()()),然后在每个括号中我放(*()())......)

我想知道这里是否有人知道输入此内容的更好方法。我在考虑写一个数学宏,在哪里

扩展到

但是对于名称很长的变量,解析是一个问题。

有人有更好的建议吗?

0 投票
2 回答
15535 浏览

c++ - 中缀表达式求值

我想在 C++ 中评估(不转换)中缀表达式。如果您拥有算法甚至实现此类算法(可能不是 C++,任何语言......我会尝试将其重写为 C++)请分享。

评价手段赋予表达的价值。(2+2)*3 为 12

对不起,我忘了我在谈论堆栈解决方案,因为我知道树解决方案并且这次不合适:(。

0 投票
3 回答
411 浏览

java - 无法将值从 Java 中的命令行参数推入堆栈

我在java中有一个奇怪的问题。我正在尝试制作一个数学表达式计算器,它将评估一个中缀数学表达式并在屏幕上返回最终结果。我已经使用堆栈来完成任务,到目前为止,我使用的是硬编码字符串作为输入,但后来我将其更改为命令行参数以达到同样的目的。我的问题是,尽管数据类型和字符串完全相同,但我正在使用的堆栈不会从命令行输入将值推入自身。

这是将数据压入堆栈的代码。

当我使用使用硬编码字符串的调试器时,它显示堆栈已正常填充,但使用命令行参数时,即使 for 循环完成,它也始终显示具有 0 个元素的堆栈。我究竟做错了什么?

0 投票
0 回答
2078 浏览

c++ - 后缀计算器的中缀,实现 sin cos 和 X&Y 变量?

我对 C++ 很熟悉,我必须为支持sin()and的后缀计算器制作一个中缀cos(),并且它必须是一个 2 变量函数,例如z=3x*sin(3+4y),我已经得到了从中缀到后缀的解析器,但我没有知道如何实现 sin 和 cos,有人告诉我可以将它们设置为运算符,例如+, -,/等,并为它们设置特定的标记,例如 sin() 的“s”和 cos 的“c” () 但我不完全知道如何,也不知道如何实现变量 x 和 y,我知道这不是我应该问的,但我只是累了和绝望了。

这是我的代码。我正在使用 Ubuntu 11:

0 投票
5 回答
29880 浏览

infix-notation - 中缀到后缀转换程序(java)

我正在研究后缀程序的中缀(使用堆栈),但经过所有这些努力,某处出现了问题。我将输出作为中缀而不进行转换,请检查我的 intopost 方法是否正确。

0 投票
6 回答
56550 浏览

c++ - 使用堆栈从中缀表达式转换为后缀 (C++)

我的讲师给了我一个任务,让我创建一个程序来使用 Stacks 将表达式转换和中缀为后缀。我已经制作了堆栈类和一些函数来读取中缀表达式。

但是这个函数,被称为convertToPostfix(char * const inFix, char * const postFix)负责使用堆栈将数组 inFix 中的 inFix 表达式转换为数组 postFix 中的后置表达式,并没有做它应该做的事情。你们能帮助我并告诉我我做错了什么吗?

以下是从 inFix 转换为 postFix 的函数的代码,convertToPostfix(char * const inFix, char * const postFix)也是我需要帮助修复的代码:

请注意,函数 convertToPostfix 是使用此算法生成的:

  • 将左括号 '(' 压入堆栈。
  • 在中缀末尾附加一个右括号')'。
  • 当堆栈不为空时,从左到右读取中缀并执行以下操作:

    • 如果中缀中的当前字符是数字,则将其复制到后缀的下一个元素。
    • 如果中缀中的当前字符是左括号,则将其压入堆栈。
    • 如果中缀中的当前字符是运算符,

      • 弹出操作符(如果有的话)在堆栈顶部,当它们具有与当前操作符相同或更高的优先级时,并将弹出的操作符插入到后缀中。
      • 将中缀中的当前字符压入堆栈。
    • 如果中缀中的当前字符是右括号
      • 从堆栈顶部弹出运算符并将它们插入到后缀中,直到左括号位于堆栈顶部。
      • 从堆栈中弹出(并丢弃)左括号。
0 投票
3 回答
12614 浏览

c++ - c++中的调车场算法

我需要一个接受中缀字符串(如“3 + 4 * 9”)并将其转换为后缀(如“4 9 * 3 +”)的函数。

我让它工作,直到你在括号内加上括号。我整天都在努力,无法弄清楚我做错了什么——也许有头脑的人能看到它吗?我觉得我真的很亲近!

谢谢!这是代码:

0 投票
3 回答
1097 浏览

c++ - 后缀到中缀对话

我无法解决从后缀到中缀的这个表达式。请帮我详细了解

0 投票
1 回答
1605 浏览

data-structures - 评估后订单表达式

结果值是多少7 4 3 + - 3 9 2 / + * 2 ^ 5 *

它在后序中。那么我怎样才能得到这个表达式的值呢?

0 投票
1 回答
648 浏览

javascript - 将内容 MathML 转换为 javascript 中的中缀/数学符号字符串

如何将 Content MathML(以下示例)转换为中缀或数学符号字符串。例如转换这个:

进入:compartment*k1*S1*S2

我看过 MathJax,但它们似乎不支持 Content MathML 也不支持转换为中缀字符串。