问题标签 [rpn]

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 投票
1 回答
1433 浏览

regex - RPN(逆波兰表示法)或后缀表示法可以通过正则表达式导出吗

我想知道我是否可以定义一个正则表达式来检查给定的输入是否与 RPN 表达式匹配,即给定的输入是否有效?

不幸的是,我对正则表达式不是很熟悉,所以我想知道是否可以定义一个正则表达式来验证后缀的输入。

非常感谢塔兹

0 投票
2 回答
922 浏览

c++ - atoi 没有正确转换字符串?

所以,我有以下(kludgy!)代码用于后缀表达式转换器和计算器的中缀(正如我在上一篇文章中提到的:简单的数值表达式求解器,感谢大家!):

无论如何,问题是:如果我输入,例如,3+4,结果是“&”,而正确的结果是“7”。那么,我的代码有什么问题?

0 投票
1 回答
435 浏览

ruby - 涉及反向抛光计算器的正则表达式问题

我正在尝试使用正则表达式来解决逆波兰计算器问题,但在将数学表达式转换为常规形式时遇到了问题。

我写:

打印:

预期的

但我得到了不同的结果。我究竟做错了什么?

0 投票
3 回答
430 浏览

c - 浮点加法 2.5 + 2.5 = 4.0?RPN

下面的代码是我进行反向波兰符号计算的子程序...基本上是 +、-、* 和 /。程序中的一切正常,除了当我尝试添加 2.5 和 2.5 时,程序给了我 4.0 ......我想我知道为什么,但我不知道如何解决它......现在我正在阅读所有根据此分配的要求从命令行输入数字和运算符,然后获取该字符串并使用 sscanf 从中获取数字...我在想以某种方式包含三个字符'2','.'的数组,和'5',并没有完全转换为浮点数......相反,我认为只是'2'。有人可以看看我的代码并确认或否认这一点,并可能告诉我如何解决它以便我得到正确的答案吗?预先感谢您的任何帮助!

这是我的主要程序:

这是带有原型的头文件和 c_stack 的定义:

响应六个字母变量:

部分任务是在数组中获取一个包含数字和小数的现有字符串,并使用它们创建一个浮点数,这就是我在这些代码行中所做的:

0 投票
1 回答
2386 浏览

rrdtool - rrdtool 中的 rpn 表达式无效,在 CDEF 中包含多个 LT 和 IF

我正在尝试创建一个包含多个数据源的图表,并试图获得所有数据源的最小值。

我已经尝试了两个数据源,它正在工作。低于具有 2 个数据源的版本:

但我坚持三个,这是更复杂的:

我从 rrdtool graph 得到以下错误:

关于为什么我不能推送我想要的任何值然后将其与 IF 语句或 LT 一起使用的任何想法?

0 投票
2 回答
3498 浏览

java - 如何将堆栈传递给方法

我正在重建一个堆栈计算器,所以它是递归的。但是,我收到一个错误:

您如何正确地将堆栈传递给方法。

代码简要描述:我做了一个堆栈,通过字符串标记器用用户输入填充它。然后我想将它传递给我的计算方法。它应该\应该反复询问用户RPN中的表达式,如果表达式有效,则计算结果,否则宣布错误。为此,我相信我必须计算,如果 RPN 格式错误,则在计算过程中停止。我排在前三根弦上。临时三应该始终是操作员。如果不是,则 RPN 的格式不正确。如果代码为空,则程序抛出下溢异常。当有 1 个元素时,我将其返回以获取答案。我相信我的 if 陈述是正确的。所以是的,我想看看它是否有效,但是现在传递堆栈有点阻碍我。

0 投票
1 回答
662 浏览

java - Java RPN 计算器空指针问题

嗨,我已经设法解决了空指针问题。

现在我几乎已经让代码工作了,除非它正在评估我得到每个方程的答案为 15?

我的 TestClass 如下所示:

我收到的输出是

这来自以下输入文件:

任何帮助都感激不尽。

感谢阅读。

0 投票
1 回答
589 浏览

java - Java 计算器版本 4

计算器现在几乎可以工作了。它现在给我读取的每个方程式都给出了相同的答案?

输出结束为:49 + 62 * 61-36 15.666666666666668 4/64 15.666666666666668(53 + 26)15.666666666666668 0 * 72 15.666666666666668 21-85 + 75-85 15.666666666666668 90 * 76-50 + 67 15.666666666666668 46 * 89-15 15.666666666666668 34/83-38 15.666666666666668 20/76/14+92-15 15.666666666666668 5*10/3-1 15.666666666666668

而不是那里有每个方程的答案?

我在我的方法中遗漏了什么吗?

谢谢

所有代码如下所示。任何帮助都感激不尽。

堆栈类:

数组列表类

方程处理的 TestClass

0 投票
5 回答
4564 浏览

c - 存储整数和算术运算符的数据类型?

当用户想要输入时,有什么方法可以让我输入用户的数字以及用户选择的任何算术运算符。我基本上是在尝试制作一种计算器,用户将首先输入数字,最后将运算符应用于它。但是没有任何固定限制,用户将首先输入多少个数字。它的用户愿望。我的程序应该自己猜测它是字符输入还是整数输入。可能吗 ??

0 投票
1 回答
22450 浏览

stack - 反向波兰表示法Java

我想制作反向波兰表示法算法,但我的代码不起作用。谁能解释我为什么?在我的代码中,我想使用字符,直到 "/+-*"tokens 。如果此标记是下一个,则进行操作,其中包含 in case 。

我想在没有 StringBuilder 或类似的情况下编写它。

输入:

输出 :