немножко исправил...выложу код и поясню что не получается по-прежнему
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int main()
{
float a,p,q;
cout<<"Vvedite a:";
cin>>a;
cout<<"Vvedite p:";
cin>>p;
cout<<"Vvedite q:";
cin>>q;
//q*a*(x*x)+p*x+2=0 условие пересечения, найдем дискриминант D
{
double d,x,y,x1,x2,y1,y2;
d=(p*(x*x)-4*(q*a*(x*x))*2);
if d<0
cout<<"ne peresekaytsya";
{
if d=0 //прямая касается параболы
x=-p/(2*a*q); //находим координаты точки
y=(p*p)/3*(a*a)*(q*q); //находим координаты точки
if (х>=-13 && x<=13 && y<=13 && y>=-13)
cout<<"pr9ma9 kasaets9 parabolbI"<<endl;
{
if d>0 //есть две точки пересечения, находим их
x1=-p+(sqrt(d))/2*q*a;
x2=-p-(sqrt(d))/2*q*a;
y1=a*(x1*x1);
y2=a*(x2*x2);
if (х1 >= -13 && x2 <= 13 && y1<=13 && y2>=-13)
cout<<"Perese4enie v kvadrate"<<endl;
}
}
}
return 0;
Если прямая и парабола пересекаются, то a*x^2=-(p*x+2)/q;или q*a*x^2+p*x+2=0. Решаем это квадратное уравнение.
1.Если D(дискриминант)<0, то прямая и парабола не пересекаются.
2.Если D=0, прямая касается параболы. x=-p/(2*a*q); y=p^2/(3*a^2*q^2). Определям, входит ли данная точка в заданный прямоугольник.
3.Усли D>0, есть две точки пересечения. Решаем уравнение, находим х1 и х2, потом у1 и у2, определяем, входят ли данные точки в заданный прямоугольник.
Сделал. Ошибки. начал искать...нашел, глупо полагать что это решится D=(p*(x*x)-4*(q*a*(x*x))*2); если значение х неизвестно..вот тут возникла основная проблема...как найти икс? )))