| Цитата(Strumok @ 23.5.2009, 14:57) | | Код | #include<iostream.h> #include<math.h> using namespace std; float x, y, a, b, c, d, p,q, u,v, n,m,z,w; float ymore0, y1more0, y2more0,y1is0,y2is0,y3is0;
main() { cout<<"Enter a please"<<endl; cin>>a;
cout<<"Enter b"<<endl; cin>>b;
cout<<"Enter c"<<endl; cin>>c;
p=b-(a*a/3); cout<<"p="; cout<<p<<endl;;
q=(2*(a*a*a)/27)-(a*b/3)+c; cout<<"q="; cout<<q<<endl; if(p==0&&(a==0&&b==0)) {cout<<"equation can not be solved this way"<<endl;}
d=((p*p*p)/27)+((q*q)/4); cout<<"d="; cout<<d<<endl; if (d>0){ u=exp((float) 1 / 3 * log(-q/2+sqrt(d)));
} cout<<"u="; cout<<u<<endl;
v=(-(p/(3*u))); cout<<"v="; cout<<v<<endl;
ymore0=u+v; cout<<"ymore0="; cout<<ymore0<<endl;
n=(-(u+v))/2; m=(sqrt(3)*(u-v))/2; cout<<"y1more0="; cout<<n<<"+i*"<<m<<endl;
z=(-(u+v))/2; w=(sqrt(3)*(u-v))/2; cout<<"y2more0="; cout<<z<<"-i*"<<w<<endl; } if(d=0){ y1is0=3*q/p; y2is0=y3is0=(-3*q)/(2*p); cout<<"y1is0="; cout<<y1is0<<endl; cout<<"y2is0=y3is0="; cout<<y2is0<<endl; }
char Stop; cout<<endl<<"press a key and Enter: "; cin>>Stop; return 0;
}
|
помогите!! как сделать чтоб на исчисление v не пропускало значение u???  |
v=(-(p/(3*u)));
здесь u не должно быть 0! но все проверки не работают:( |