相关疑难解决方法(0)

获取数组中的最后一项

这是我到目前为止的JavaScript代码:

var linkElement = document.getElementById("BackButton");
var loc_array = document.location.href.split('/');
var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2]))); 
linkElement.appendChild(newT);
Run Code Online (Sandbox Code Playgroud)

目前,它从URL中获取数组中倒数第二个项目.但是,我想检查数组中的最后一项是"index.html",如果是,请抓住第三项到最后一项.

javascript arrays

1012
推荐指数
44
解决办法
138万
查看次数

数学解析器的智能设计?

设计数学解析器最聪明的方法是什么?我的意思是一个函数,它接受一个数学字符串(如:"2 + 3/2 +(2*5)")并返回计算值?我在VB6很久以前写过一个,但它最终变得臃肿而且不太便携(或者说很聪明......).一般的想法,伪造的代码或真正的代码表示赞赏.

math parsing calculator

56
推荐指数
3
解决办法
4万
查看次数

计算用户定义的公式(使用c ++)

我们希望在我们的c ++程序中有用户定义的公式.例如,值v = x +(y - (z - 2))/ 2.在程序的后面,用户将定义x,y和z - >程序应该返回计算结果.
有些以后公式可能会改变,所以下次程序应该解析公式并添加新值.

任何想法/提示如何做这样的事情?

到目前为止,我刚刚找到解决方案来编写一个解析器来计算这些公式 - 也许是关于它的任何想法?

c++

10
推荐指数
1
解决办法
3144
查看次数

在编程中实现微积分函数即f(x)

我想编写一个程序,用特定的值集计算给定的数学函数(由用户).

要求用户输入一个函数,比如他输入f(x)=(x ^ 2)+ 3x + 1然后通过程序我应该显示[f(3),f(6)和f(9的输出) )].

问题具体是如何在类型函数中获取这些x,然后如何将函数从字符串转换为double或float.

你有什么想法吗?

假设我正在使用C或C++

math function calculus

9
推荐指数
1
解决办法
297
查看次数

解析数学表达式

是否有一种简单的方法来解析表示为字符串的简单数学表达式,如(x +(2*x)/(1-x)),为x提供值,并获得结果?

我查看了几个在线示例中的VSAEngine,但是,我收到一个警告,该程序集已被弃用而不使用它.

如果它有任何差异,我使用的是.NET 4.0.

.net c# c#-4.0

8
推荐指数
3
解决办法
3万
查看次数

写一个迷你语言

我有一个应用程序需要允许用户编写类似于excel的表达式:

(H1 +(D1/C3))*I8

更复杂的事情

如果(H1 ='True',D3*.2,D3*.5)

我只能用正则表达式做这么多.任何有关正确方法的建议以及我可以学习的任何资源都将不胜感激.

谢谢!

.net language-design

7
推荐指数
2
解决办法
1483
查看次数

解析儿童教育软件的基本数学方程式?

最近TED演讲的启发,我想写一小段教育软件.研究人员制作了一些名为" Siftables "的小型微型计算机.

替代文字http://images.ted.com/images/ted/tedindex/embed-posters/DavidMerrill-2009.embed_thumbnail.jpg
[David Merril, inventor - with Siftables in the background.]

他使用了很多块应用程序,但我最喜欢的是每个块都是数字或基本操作符号.然后,您可以在一行中重新排列数字块或操作符号,它将在另一个可筛选块上显示答案.

alt text http://i44.tinypic.com/m7us6g.png

所以,我已经决定要在有限的范围内实施一个软件版本的"数学Siftables"作为我正在参加的CS课程的最终项目.

解析和解释一串数学表达式的普遍接受的方法是什么,如果它们有效,执行操作?

这是我应该实现完整解析器/词法分析器的情况吗?我认为解释基本的数学表达式将是计算机科学中的一个半常见问题,所以我正在寻找正确的方法来解决这个问题.

例如,如果我的Math Siftable块在哪里排列如下:

[1] [+] [2]

这将是一个有效的序列,我将执行必要的操作以达到"3".

但是,如果孩子要将几个操作块拖到一起,例如:

[2] [\] [\] [5]

这显然是无效的.

最终,我希望能够使用用户可以拖动的块来解析和解释任意数量的操作链.任何人都可以向我解释或指向我解析基本数学表达式的资源吗?

我更喜欢尽可能多的语言不可知的答案.

math parsing

7
推荐指数
1
解决办法
1608
查看次数

非常简单的sexp解析器

对于一个赋值,我们必须实现像一个非常基本的sexp解析器,这样的输入,如:

"((a b) ((c d) e) f)"
Run Code Online (Sandbox Code Playgroud)

它将返回:

[["a", "b"], [["c", "d"], "e"], "f"]
Run Code Online (Sandbox Code Playgroud)

由于这是一个更大的赋值的一部分,解析器只给出有效的输入(匹配的parens和c).我在Ruby中提出了以下解决方案:

def parse s, start, stop
  tokens = s.scan(/#{Regexp.escape(start)}|#{Regexp.escape(stop)}|\w+/)

  stack = [[]]

  tokens.each do |tok|
    case tok
    when start
      stack << []
    when stop
      stack[-2] << stack.pop
    else
      stack[-1] << tok
    end
  end

  return stack[-1][-1]
end
Run Code Online (Sandbox Code Playgroud)

这可能不是最好的解决方案,但它可以完成这项工作.

现在,我对一个惯用的Haskell解决方案的核心功能感兴趣(即我不关心lexing或选择分隔符,考虑已经lexed输入会很好),如果可能只使用"核心"haskell,没有扩展或者像parsec这样的库.

请注意,这不是赋值的一部分,我只是对Haskell的处理方式感兴趣.

ruby parsing haskell

3
推荐指数
1
解决办法
1086
查看次数

求解数组中的方程

我试图找出如何解决已存储在数组中的方程式.我需要一些关于如何克服这种问题的指导.这是我的条件

  • 我有一个数组int X [30];
  • 在那里我存储了我想要的等式:5 + 6*20/4
  • 同样,我无法存储操作数(+/ - *)所以我使用了不同的标识符,如(-1 -2 -3 -4),因为在等式中不应该有负值.

任何帮助将不胜感激

谢谢

c++ arrays

1
推荐指数
1
解决办法
2477
查看次数

使用函数代替运算符

所以我试图制作一个基于用户输入进行数学运算的程序,但是我遇到了一个问题,试图根据它们给出的数学运算符来设置它.

功能:

const operator(int val)
{
    if (val == 1)
    {
    return +;
    }
    if (val == 2)
    {
    return -;
    }
}
Run Code Online (Sandbox Code Playgroud)

主代码看起来像这样

scanf("%d", val)
output = 4 operator(val) 2
printf("%d", output)
Run Code Online (Sandbox Code Playgroud)

是否有可以代替运营商使用的变量类型?如果没有,是否有办法使变量/函数引用定义的宏?

例如:

#define plus +
Run Code Online (Sandbox Code Playgroud)

那么在代码中引用宏?

最后我知道如果每个输入的情况都可能有,但是对于像

output = 2 operator(val) 5 operator(val) 7 operator(val) 3 
Run Code Online (Sandbox Code Playgroud)

这将需要64个if语句,我认为它可以使它工作.

谢谢你的阅读,我的斗智尽头.

c

1
推荐指数
1
解决办法
109
查看次数

标签 统计

math ×3

parsing ×3

.net ×2

arrays ×2

c++ ×2

c ×1

c# ×1

c#-4.0 ×1

calculator ×1

calculus ×1

function ×1

haskell ×1

javascript ×1

language-design ×1

ruby ×1