حل معادلات درجه 3

با سلام
1برنامه می خوام که ضرایب 1معادله ی درجه 3 رو بگیره و حل کنه
با c++
 

the_king

مدیرکل انجمن
این معادله:
x^3+0.2x^2-0.2x-1.20=0
به روش نابجایی

به روش نابجایی؟ منظورتون چیه؟
یک نگاهی به این صفحه در سایت ویکی پدیا بندازید که فرمول ها در آن ارائه شده :

Roots of a cubic function

معادله می تواند بر حسب ضرایب اش تا سه ریشه داشته باشد. مثلا در معادله ای که مثال زدید سه ریشه وجود دارد
که یکی از آنها حقیقی است :
کد:
1.05896
و دو ریشه دیگر مختلط است، (i) عدد موهومی است :
کد:
-0.62948 - 0.858454(i)
-0.62948 + 0.858454(i)

یک ریشه حقیقی برای حل معادلات کافیست؟
برنامه را به زبان ++C می خواهید یا به زبان #C باشد؟
 
بله فقط 1 ریشه ی حقیقی با 6 رقم اعشار کافیه
به زبان c++
خیلی ممنون از توجه و لطفتون
این روش انگلیسیشو نمی دونم چی میشه فارسیشم راستش من تا حالا این روشو ندیدم برای پسر عمومه فردا قرار شد کتابشو بده فرمولو ببینم
بازم ممنون
 
توی این کتاب اسم دیگه این روشو گذاشته بود وتری!
اینم کد این روش:
کد:
#include <iostream.h>
#include <math.h>
#include <conio.h>
double f(double x) {return x*x*x*x-sin(x);}
void main()
{
clrscr();
double eps,x0,x1,x;
int n=1;
cout<<"\nEnter x0,x1,eps\n";
cin>>x0>>x1>>eps;
x=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));
while (fabs(x1-x0)>=eps){
cout<<x0<<"\t"<<x1<<"\t"<<x<<"\n";
x0=x1;
x1=x;
x=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));
n++;
}
cout <<"ROOT= "<<x;
cout<<"\nITERATION ="<<n;
getch();
}
 

the_king

مدیرکل انجمن
کد:
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
   clrscr();
   double a, b, c, d, x, A, B, C, p, q, u, v;
   printf ("ax^3 + bx^2 + cx + d = 0\n\n");
   printf ("Please enter a : ");
   scanf("%lf", &a);
   printf ("Please enter b : ");
   scanf("%lf", &b);
   printf ("Please enter c : ");
   scanf("%lf", &c);
   printf ("Please enter d : ");
   scanf("%lf", &d);
   A = b / a;
   B = c / a;
   C = d / a;
   p = B - (A * A) / 3;
   q = C + (A * (2 * A * A - 9 * B)) / 27;
   v = (q * q) / 4 + (p * p * p) / 27;
   u = pow(- q / 2 + sqrt(v), 0.333333333333);
   x = - p / (3 * u) + u - A / 3;
   printf ("x = %lf\n", x);
   getch();
}
 
واقعا نمی دونم چه جوری ازتون تشکر کنم
واقعا لطف کردید
تو انجمنم می دیدیم واقعا به همه کمک کردید
ممنننننننننننننننووووووووووووووووووووووووووننننننننننننننننننننننننن
 

جدیدترین ارسال ها

بالا