Задача С++

patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

Добрый вечер. Помогите плз с задачей, вопрос допуска на экзамен завтра утром =(
**
Верно ли, что точки пересечения параболы y=ax^2 и прямой px+qy+2=0 лежат в квадрате со сторонами паралельными осям координат, с центром (0;0) и длинной равной 26?
**
я алгоритм понимаю, а реализовать не могу (
patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

серьезно, у кого есть возможность - помогите, задачка простая...заплачу
icq 218741219
PaaQ
Сообщения: 22
Зарегистрирован: 04 янв 2008, 21:55

они могут вообше не пересекатся при a равной отрицательному числу .
могу подсказать как множество точек задать(правда не знаю как прицепить к длине 26 ) ,а вот потом нужно из этого множества решить систему не равенств из 2 уравнений я думаю так решается,но так как я не профи ,а так только учусь лучше еще у кавонибудь спроси или в инете полазий .Если кто подскажет как множество создать(квадрат) тогда может я и смогу сделать .
patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

я пришел к такому алгоритму:
в первой задаче сначала диалог с пользователем, введите а, р, q
затем, выражаем уравнение прямой через у, затем, ищщем точки общие (х и у), затем проверяем если оба условия удовлетворяют равенству х<=26, у<=26, если не удовлетворяют, то выводим сообщение что не удовлетворяет...
но вот тут проблемы: как выразить...как решить...как найти х...и как это все на с++ написать =(
PaaQ
Сообщения: 22
Зарегистрирован: 04 янв 2008, 21:55

равенству х<=26, у<=26 вот это брет наресуй на листке систему координат и просто подставляй значения
patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

ну тогда я вообще ничего не понимаю =)
PaaQ
Сообщения: 22
Зарегистрирован: 04 янв 2008, 21:55

Что то типа того :
#include <iostream.h>
#include <conio.h>
main()
{
double r,t;
float q,w,e;
cout<<"Vvedite 1 element ";
cin>>q;
cout<<"Vvedite 2 element ";
cin>>w;
cout<<"Vvedite 3 element ";
cin>>e;
for ( float x=0;x<26;x=x+0,1)
r=-(w*x+2)/e*q*x*x;

for (float y=0;y<26;y=y+0,1);
t=q*((e*y+2)/w)*((e*y+2)/w)/y;
if(t == 0 && r == 0)
cout<<"Perese4enie v kvadrate" ;
else
cout<<"perese4eni9 net ili za ramkami kvadrata "<<endl;
getch();
return 0;
}
Может чемто и поможет не уверен что все верно ,но компилятор пропускает .
patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

ааа, пардон, [13;-13] интервал с ним и сравнивать? если центр в (0,0) тогда квадрат пополам же делится...проверять будем этот интервал
PaaQ
Сообщения: 22
Зарегистрирован: 04 янв 2008, 21:55

#include <iostream.h>
#include <conio.h>
main()
{
double r,t;
float q,w,e;
cout<<"Vvedite 1 element ";
cin>>q;
cout<<"Vvedite 2 element ";
cin>>w;
cout<<"Vvedite 3 element ";
cin>>e;
for ( float x=-13;x<13;x=x+0,1)
r=-(w*x+2)/e*q*x*x;

for (float y=-13;y<13;y=y+0,1);
t=q*((e*y+2)/w)*((e*y+2)/w)/y;
if(t == 0 && r == 0)
cout<<"Perese4enie v kvadrate" ;
else
cout<<"perese4eni9 net ili za ramkami kvadrata "<<endl;
getch();
return 0;
}
поидее все правелно не знаю у меня может с компилятором чтото или где то я туплю вторая задачка на сегодня и он основное условие почемуто не выполняет
patrick87
Сообщения: 13
Зарегистрирован: 29 янв 2008, 19:42

и на том спасибо огромное, дальше уже разберусь как-нить...тем более решил задачу на бумаге...думаю разберусь..=) спасибки
Ответить