Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите дописать задачу, Составить программу для нахожления точки 
:(
    Опции темы
Alukard18
Дата 7.4.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.4.2009

Репутация: нет
Всего: нет



Всем ПривеТ! Помогите дописать задачу в С++, Я кое что начал вот дальше не могу ни как smile Исправте мой код или дополните, Заранее спасибо smile
Условие:Дана парабола y=ax^2+bx+с и прямая y=kx+m. Составить программу для нахожления точки пересечения этих функций, если тковая существует. В случае если пересения нет, выдать специальное сообщение.
моё начало:
#include <math.h>
#include <iostream.h>
 
int main()
{
int a,b,c,k,m;
double x,x1,x2,d; 
cout << "Уравнение параболы y = ax^2+bx+c. Введите коефициенты a,b и c." << endl;
cin >> a >> b >> c;
cout << "Уравнение прямой y = kx+m. Введите коефициенты k и m." << endl;
cin >> k >> m;
(a*(x*x)-((k*b)*x)-(c*m));        // квадратное уравнение  1
d=(k*k*b*b)-4*(a*c*m);            //Дискриминант
if (d>=0)                               //?????????
{x1=(((k*b)*x)+sqrt(d))/2*a;            //Первый корень
x2=(((k*b)*x)-sqrt(d))/2*a;}                     //Второй корень
else {
cout<<"Корней нет";}

Это сообщение отредактировал(а) Alukard18 - 7.4.2009, 20:53
PM MAIL   Вверх
InvalidProperty
Дата 8.4.2009, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 31.10.2007
Где: Россия, Казань

Репутация: 2
Всего: 9



Alukard18, учите мат. часть, гражданин. Откуда у Вас появилось вот это?
Цитата(Alukard18 @  7.4.2009,  20:11 Найти цитируемый пост)
(a*(x*x)-((k*b)*x)-(c*m));        // квадратное уравнение  1

Из геометрии мы знаем: чтобы найти точку пересечения, нужно, чтобы X и Y совпадали. Изначально у нас имеется два уравнения
  •  y=ax^2+bx+с
  •  y=kx+m
т.к. левые части равны => правые тоже должны быть равны. Перепишем в виде
Код

ax^2 + bx + c = kx + m, из чего получим (применив группировку)
ax^2 + x(b - k) + (c - m) = 0

Итого у нас получилось обычное квадратное уравнение вида
Код

ax^2 + bx + c

вместо b у нас (b - k), вместо c - (c - m). Решаем.
Корни (вещественные) существуют тогда, когда дискриминант > 0. Дискриминант находится по общей формуле
Код

b^2 - 4ac

Если он > 0 - корня 2 и находятся они по формуле
Код

(-b +- sqrt(D)) / 2a, D - дискриминант

< 0 - 0 (говоря о вещественных корнях)
Код

(-b +- i*sqrt(D)) / 2a, i - мнимая единица

= 0 - все равно два корня, но они одинаковы
Код

-b/2a


Будет для начала неплохо почитать про квадратные уравнения

, а потом про C/C++, т.к. я не понимаю, что Вы хотели сказать этой
Код

(a*(x*x)-((k*b)*x)-(c*m));        // квадратное уравнение  1

строчкой.

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


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
Alukard18
Дата 8.4.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.4.2009

Репутация: нет
Всего: нет



АГа Эти ошибки я исправил, Просто запарился в знаках, И задачку решил уже smile Всем спасибо.
PM MAIL   Вверх
InvalidProperty
Дата 8.4.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 31.10.2007
Где: Россия, Казань

Репутация: 2
Всего: 9



smile не за что... если ты задачку решил, тему закрой тогда.


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1223 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.