2013-03-20 6 views
6

मैं इस कोड है:इनपुट समीकरण, सी ++

#include <iostream> 
#include <cmath> 
#include <stdlib.h> 
using namespace std; 
double f(double x); 
double biseccion(double a, double b, double tolerancia, int maxiter); 
int main() 
{ 
    double a, b, raiz; 
    double tolerancia=0.00000; 
    int maxiter=25; 
    cout << "Input begin of interval: "; 
    cin >> a; 
    cout << "Input end of interval: "; 
    cin >> b; 
    cout << "\n"; 
    cout << " # de"<<"\n"<<"Iteration"<<"\t"<<" A"<<"\t"<<" B"<<"\t"<<" C"<<"\t"<<" f(c)"<<endl; 
    raiz=biseccion(a,b,tolerancia,maxiter); 
    cout << "\n"; 
    cout << "The root is: "<< raiz <<endl; 
    return 0; 
} 

double f(double x) 
{ 
     return x*x*x-x-2; 
} 
double biseccion(double a, double b, double tolerancia, int maxiter) 
{ 
     double c; 
     int numiter=1; 
     do 
     { 
      c=(a+b)/2; 
      if(f(a)*f(c)<0) 
      { 
       b=c; 
      } 
      else 
      { 
       a=c; 
      } 
      cout<<"  "<<numiter<<"\t"<<"\t"<<a<<"\t"<<b<<"\t"<<c<<"\t"<<f(c)<<endl; 
      numiter++; 
     } 
     while((abs(f(c))>tolerancia)&&(numiter<maxiter)); 
     return c; 
} 
इसके बजाय लेखन के

"x * x * xx-2" मेरे कोड में, मैं इसे इनपुट करने के लिए उपयोगकर्ता चाहते अंतराल के शुरू के लिए पूछ रहा से पहले । मैं उसे कैसे कर सकता हूँ?

मैं "x * x * x-x-2" स्टोर करने के लिए एक चर का उपयोग करने का प्रयास करता हूं, लेकिन कोई भी काम नहीं करता है।

+1

आप इस तरह के muParser के रूप में अभिव्यक्ति मूल्यांकन, के लिए एक पुस्तकालय चाहता हूँ। –

+0

उपयोगकर्ता को फ़ंक्शन को परिभाषित करना इतना आसान नहीं है, खासकर संकलित भाषा में। –

+0

संभव डुप्लिक http://stackoverflow.com/questions/9503455/equation-parsing-library-c –

उत्तर

6

आपको इनपुट को पार्स करने की आवश्यकता है, शायद आप जितना आसान सोच रहे हैं उतना आसान नहीं है लेकिन कुछ पुस्तकालय हैं जो आपकी मदद कर सकते हैं।

muparser.sourceforge.net/

code.google.com/p/expressionparser/

partow.net/programming/exprtk/index.html

यहाँ

भी ग # में एक समाधान है जो भी आपकी मदद कर सकता है।

Is there a string math evaluator in .NET?

संबंधित मुद्दे