Будит ли правильным такой вариант решения?
Если сначала решить систему уравнений аx3+bx2+сx+d=fx+g
где найдем x=g-d
и дискриминант D=sqrt(b^2-4az) где z=c-f
и с помощью дискриминанта найдем 2 корня
x2=(-b+дискриминант)/(2*a);
x3=(-b-дискриминант)/(2*a);
Код:
#include <iostream>
# include <math.h>
using namespace std;
void main()
{
double a,b,c,d,f,g,x,y,tret,discrim,x1,x2,x3,y1,y2,y3,yrav2;
cout<<"Vvedite A ";
cin>>a;
cout<<"Vvedite B ";
cin>>b;
cout<<"Vvedite C ";
cin>>c;
cout<<"Vvedite D ";
cin>>d;
cout<<"Vvedite F ";
cin>>f;
cout<<"Vvedite G ";
cin>>g;
x1=g-d;
y1=f*x1+g;
yrav2=a*pow(x1,3)+b*pow(x1,2)+c*x1+d;
tret=c-f;
discrim=sqrt(pow(b,2)-4*a*tret);
// cout<<"Deskriminant: "<<discrim<<'\n';
cout<<"Krivaya i pryamaya peresekaet'sya v tochkah:"<<'\n';
cout<<"Tochka peresecheniya: "<<"("<<x1<<";"<<y1<<")"<<'\n';
if (discrim>0)
{
x2=(-b+discrim)/(2*a);
x3=(-b-discrim)/(2*a);
y2=f*x2+g;
y3=f*x3+g;
cout<<"Tochka peresecheniya : "<<"("<<x2<<";"<<y2<<")"<<'\n';
cout<<"Tochka peresecheniya : "<<"("<<x3<<";"<<y3<<")"<<'\n';
}
else if(discrim=0)
{
x2=-b/(2*a);
y2=f*x2+g;
cout<<"Tochka peresecheniya: "<<"("<<x2<<";"<<y2<<")"<<'\n';
}
else
{
cout<<" "<<'\n';
}
}