Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 31

Определить, пересекаются ли парабола и прямая (найдите ошибку)

28.01.2013, 16:38. Показов 5310. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определите, пересекаются ли парабола у=cx2+dx+f и прямая y=ax+b. При
положительном ответе найти точки пересечения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include <math.h>
using namespace std;
int main ()
{
float a, b, c, d, f, x, x1, x2, y, y1, y2;
cin>>a>>b>>c>>d>>f;
for(x=-5; x<=5;x++)
 
y1=c*x*x+d*x+f;
y2=a*x+b;
if(y1==y2)
cout<<"x="<<x<<"     "<<"y1="<<y1<<"    "<<"y2="<<
else
cout<<"net peresecheniy"<<
getchar();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2013, 16:38
Ответы с готовыми решениями:

Определить, пересекаются ли парабола и прямая
Определите, пересекаются ли парабола у=cx2+dx+f и прямая y=ax+b. При положительном ответе найти точки пересечения.

Определить, пересекаются ли прямая и окружность
Задана окружность с центром в точке О(x0,y0) и радиусом R и прямая у=ах+b. Определить, пересекаются ли прямая и окружность. При...

Определить, пересекаются ли прямая и окружность
Задана окружность с центром в точке О(x0,y0) и радиусом R0 и прямая y=ax+b. Определить, пересекаются ли прямая и окружность. При...

12
5 / 5 / 1
Регистрация: 02.07.2012
Сообщений: 45
28.01.2013, 16:44
Я так понимаю, пересечение ищется в отрезке x = [ -5, 5 ]?

Добавлено через 3 минуты
И в чем именно ошибка - не находит пересечение, или находит неверно?
0
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 31
28.01.2013, 16:49  [ТС]
пишет что ошибка в else

Добавлено через 1 минуту
нет отрезок вообще не трош нужно найти точки пересечения если они есть
0
phuongham
28.01.2013, 16:50
1. Там х принимает нетолько целые значения. В твой проге х лишь принадлежит [-5,5]. Что будет если пересечение находится вне этого интервала?
2. Парабол и линия пересекаются если уравнение cx^2 + dx + f = ax + b имеет хоть один корень. А это уравнение второго порядка и условие существования корней есть ... (сам узнаешь) . Попробуй по этому пути.
5 / 5 / 1
Регистрация: 02.07.2012
Сообщений: 45
28.01.2013, 16:54
C++
1
cout<<"x="<<x<<"     "<<"y1="<<y1<<"    "<<"y2="<<
Тут у тебя незавершенная строка. Это можно исправить, поставив в конце (после "<<") endl;
Анологично с:
C++
1
cout<<"net peresecheniy"<<
Добавлено через 1 минуту
Цитата Сообщение от phuongham Посмотреть сообщение
1. Там х принимает нетолько целые значения. В твой проге х лишь принадлежит [-5,5]. Что будет если пересечение находится вне этого интервала?
2. Парабол и линия пересекаются если уравнение cx^2 + dx + f = ax + b имеет хоть один корень. А это уравнение второго порядка и условие существования корней есть ... (сам узнаешь) . Попробуй по этому пути.
Он сказал это не трогать, типа так и надо
0
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
28.01.2013, 17:09
mehanik7, позвольте, а зачем решаете фором? Решайте аналитически (на бумаге) и вбивайте формулы
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
28.01.2013, 17:19
Надо примерно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include <math.h>
using namespace std;
int main ()
{
  float a, b, c, d, f, x, x1, x2, y, y1, y2;
  cin>>a>>b>>c>>d>>f;
  for(x=-5; x<=5;x++)
   {
     y1=c*x*x+d*x+f;
     y2=a*x+b;
     if(fabs(y1-y2) <= 0.000001) 
        cout<<"x="<<x<<"     "<<"y1="<<y1<<"    "<<"y2=";
     else
        cout<<"net peresecheniy";
    }
getchar();
}
0
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 31
28.01.2013, 17:20  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include <math.h>
using namespace std;
int main ()
{
float a, b, c, d, f, x, x1, x2, y, y1, y2;
cin>>a>>b>>c>>d>>f;
 
 
y1=c*x*x+d*x+f;
y2=a*x+b;
if(y1==y2)
else{
cout<<"x="<<x<<"     "<<"y1="<<y1<<"    "<<"y2="<<endl;
cout<<"net peresecheniy"<<endl;}
getchar();
}
паже самая хрень что с endl что без endl
0
5 / 5 / 1
Регистрация: 02.07.2012
Сообщений: 45
28.01.2013, 17:23
А тут сразу после if идет else
Надо что-то после if и перед else написать, а то неправославно
0
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 31
28.01.2013, 17:27  [ТС]
я все перепробовал все равно del c++ выдает в else ошибку

Добавлено через 3 минуты
например что написать
0
5 / 5 / 1
Регистрация: 02.07.2012
Сообщений: 45
28.01.2013, 17:29
То, что должно выполниться, если условие в if окажется верным

Добавлено через 1 минуту
В твоем случае эту строчку
Цитата Сообщение от mehanik7 Посмотреть сообщение
cout<<"x="<<x<<" * * "<<"y1="<<y1<<" * *"<<"y2="<<endl;
Надо перенести из else в if
0
phuongham
28.01.2013, 19:23
Цитата Сообщение от Lexp Посмотреть сообщение
Он сказал это не трогать, типа так и надо
Не знаю зачем так сложно. mehanik7 если можно то напиши все условия задачи.

Цитата Сообщение от Catstail Посмотреть сообщение
Надо примерно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include <math.h>
using namespace std;
int main ()
{
  float a, b, c, d, f, x, x1, x2, y, y1, y2;
  cin>>a>>b>>c>>d>>f;
  for(x=-5; x<=5;x++)
   {
     y1=c*x*x+d*x+f;
     y2=a*x+b;
     if(fabs(y1-y2) <= 0.000001) 
        cout<<"x="<<x<<"     "<<"y1="<<y1<<"    "<<"y2=";
     else
        cout<<"net peresecheniy";
    }
getchar();
}
Ну вот код почти правильный. Только на каждой шаге если y1 != y2 то нельзя сразу говорить что линии не пересекаются. А это только после выхода из цикла.
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
28.01.2013, 21:02
Небрежно написанная программа. Вот рабочий вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream.h>
#include <math.h>
 
int main ()
{
  float a, b, c, d, f, x, y1, y2;
  int k=0;
  cin>>a>>b>>c>>d>>f;
  for(x=-5; x<=5;x++)
   {
 
     y1=c*x*x+d*x+f;
     y2=a*x+b;
     
     if(fabs(y1-y2) <= 0.000001) 
     {
        cout << "x=" << x << "     " << "y1=" << y1 << "    " << "y2=" << y2 << endl;
        k=-1;
        break;
     }
 
   }
 
   if (k == 0)  cout<<"net peresecheniy" << endl;
    
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2013, 21:02
Помогаю со студенческими работами здесь

Оператор условия. Определить, пересекаются ли заданные кривая и прямая
Определить пересекаются ли кривая y=ax³+bx²+cx+d и прямая y=fx+g. При положительном ответе найти точку пересечения. Что не...

Определить, пересекаются ли прямая и окружность, и найти точки пересечения
задана окружность с центром в точке х(нулевое) и(нулевое) у и радиусом Р и прямая у=ах+в. определить пересекаются ли прямая и окружность....

Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения
.Задана окружность с центром в точке О(x0,y0) и радиусом R0 и прямая y=ax+b. Определить, пересекаются ли прямая и окружность. При...

При каких значениях K данная парабола и прямая не пересекаются
Всем привет. Надо решить пару задачек к завтрому, а я никак не могу вспомнить как их решать.Так вот был бы примного благодарен тем кто...

Определите, пересекаются ли парабола y=ax^2+dx+f и прямая y=7x+b . При положительном ответе найти точки пересечения
Определите, пересекаются ли парабола y=ax^2+dx+f и прямая y=7x+b . При положительном ответе найти точки пересечения. Заранее огромное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru