2013-09-07 3 views
3

C#에서는이 간단한 방정식을 풀 수있는 방법을 찾고 있습니다.C#에서 가장 간단한 방정식을 푸십시오.

2 개의 다른 매개 변수 중 하나를 지정하면 제 3의 매개 변수를 제공하는 클래스를 작성하려고합니다.

예는, 당신이 A=3을 알고 있다면

Z=A+B을 부여하고 A=4Z=8 다음 당신은 내가 가장에 작업 이러한 종류의를 수행 할 방법 B=4

알고 알고 있다면 B=6는 당신은 Z=9

을 알고 소프트웨어?

다른 생각은 ncalc와 같은 수학 표현식 평가를 사용하는 것입니다. 그들은 수식을 해석 할 수 있습니다. 예를 들어 3*(8+2)30으로 변환 할 수는 있지만 3*(8+x)=30 ->x=2과 같은 방정식은 풀 수 없습니다.

+0

@ user814064 질문에 따르면 조사가 완료되었으며 실제로 검토 된 결과 - 제시된 정보의 일부에 대한 오해가있는 것으로 나타났습니다 (NCalc는 OP의 요구 사항을 충족시키는 것으로 보입니다) - n 번째 NullPointerException 질문 확실하게 – jdphenix

+0

도구에 관한 질문은 오프 주제입니다. – dcaswell

+0

기본적으로 "변수를 사용하여 식을 구문 분석/평가하려면 어떻게해야합니까?" OP는 연구 노력을 보여 주며 꽤 명확하게 "특정 프로그래밍 문제"[Under-topic] (http://stackoverflow.com/help/on-topic) 범주에 속합니다. – jdphenix

답변

1

NCalc이 필요한 작업을 수행하지 않았습니까? http://ncalc.codeplex.com/의 예를보세요.

도 동적 매개 변수 또는

Expression e = new Expression("Round(Pow([Pi], 2) + Pow([Pi2], 2) + [X], 2)"); 

e.Parameters["Pi2"] = new Expression("Pi * [Pi]"); 
e.Parameters["X"] = 10; 

e.EvaluateParameter += delegate(string name, ParameterArgs args) 
    { 
    if (name == "Pi") 
    args.Result = 3.14; 
    }; 

Debug.Assert(117.07 == e.Evaluate()); 

이이 안된주의 표현을 정의 -하지만 당신은 NCalc과 같은 것을 할 수있는 것 같습니다 :

var e = new Expression("[A] + [B]"); 
e.Parameters = /* your input */ 
var result = e.Evaluate(); 
+1

NCalc에 대한 답변을 주셔서 감사합니다. 사실 내가 찾는 대상이 아니거나 사용법을 이해하지 못합니다. 매개 변수 [A] = 3 인 식을 "A + B = 10"으로 표현하고 싶습니다. 평가자는 B = 7을 반환해야한다. Ncalc를 조정할 생각이라면 제공된 매개 변수가 A 나 B가 될 수 있기 때문에 매개 변수 [A] = 3 인 10-A를 평가할 수 없습니다. – bobby

-2

은 사용 해보세요 C# Expression Evaluator, 귀하의 요구 사항과 일치하는지 확인하십시오.

+0

링크 만? 사용 예가 있습니까? – jdphenix

+0

나는 그것을 사용하지 않았다. 이 문서에서는 C# 식 계산기가 기본 산술 연산을 제공한다고 제안합니다. –

+0

ExpressionEvaluator는 C# (코드) 식만 다른 입력으로 반복적으로 호출 할 수있는 .NET 함수로 컴파일합니다. OP가 필요로하는 것은 [this site uses] (http://www.algebra.com/services/rendering/simplifier.mpl)처럼 표현 솔버입니다.나는 ExpressionEvaluator의 저자이며이 페이지에서 약간의 트래픽을 얻은 것 같습니다. – EnderWiggin

관련 문제