Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 07.12.2017
Сообщений: 1
1

Выяснить взаимное расположения прямых на плоскости

16.12.2017, 09:27. Показов 1213. Ответов 1
Метки нет (Все метки)

Я юзала свойство пропорциональности коэффициентов при х,у. В общем уравнения прямых: a1+b1=c1, a2+b2=c2.Нужно выяснить взаимное расположения прямых на плоскости, где "0"-не существуют, "1"-совпадают, "2"-параллельны и если пересекаются, то координаты точки пересечения. Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 float a1,b1,c1,a2,b2,c2,x,y;
    cin>>a1>>b1>>c1>>a2>>b2>>c2;
    if ((a1==0 && b1==0) || (a2==0 && b2==0))
        cout<<0;
    else{
         if ((a1/a2)==(b1/b2) && (a1/a2)==(c1/c2))
            cout<<1;
         else {
               if ((a1/a2)==(b1/b2))
                cout<<2;
               else{
                    x=(b1*c2-b2*c1)/(a1*b2-a2*b1);
                    y=(c1*a2-c2*a1)/(a1*b2-a2*b1);
                    cout<<x<<' '<<y;
                   }
              }
        }
Валится на тесте: -7 0 20 -21 0 29, то есть когда есть деление на 0, что изменить, чтобы всё работало нормально?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2017, 09:27
Ответы с готовыми решениями:

Выяснить взаимное расположение прямых на плоскости
Выяснить взаимное расположение прямых А1*х+В1*у=С1 и А*х+В*у=С. Если прямые пересекаются,...

Выяснить, лежат ли отрезки прямых на попарно перпендикулярных прямых
Все геометрические фигуры заданы на плоскости. Предусмотрите ввод исходных данных с клавиатуры....

На плоскости задано множество прямых. Найти количество пересечений этих прямых
На плоскости задано множество прямых. Найти количество пересечений этих прямых плиз помогиите с...

Взаимное расположение прямых
Люди.ПЛЗ помогите::wall::help: Даны вещественные числа A1, B1, C1, А, В, С. Выяснить взаимное...

1
Модератор
Эксперт С++
11288 / 9277 / 5565
Регистрация: 18.12.2011
Сообщений: 24,766
16.12.2017, 10:22 2
Чтобы учесть все возможные ситуации, пишите так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(a1==0)
{
    if(b1==0)
        cout<<'0';
    else
    {
         ....
    }
}else
if(a2==0)
{
    if(b2==0)
        cout<<'0';
   else
   {
    ...
   }
}else
 if ( fabs(a1/a2-b1/b2)<1e-10 && fabs(a1/a2-c1/c2)<1e-10)// float числа приблизительные, сравниваем, например с точностью 1e-10
{
...
}else
...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2017, 10:22

Определить взаимное расположение прямых
В общем есть точки x1 x2 x3 x4 y1 y2 y3 y4, которые определяют координаты двух точек одной прямой и...

Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве
Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве. прямые задать с...

Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве помогите пожалуйста
помогите пожалуйста завтра зачет сижу над задачами ничего не успеваю!!!!! Разработать алгоритм...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.