Форум программистов, компьютерный форум CyberForum.ru

Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
igor1994
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 15
01.04.2014, 12:39     Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости #1
Определить пересекаются ли две прямые, заданными своими уравнениями на плоскости. Если они пересекаются установить координаты точки пересечения.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 12:39     Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости
Посмотрите здесь:

Определить пересекаются две прямые, параллельны или совпадают C++
Определить пересекаются две прямые, параллельны или совпадают.Две прямые заданы уравнениями: ax+by+c=0, px+qy+r=0 C++
Определить пересекаются две прямые, параллельны или совпадают C++
Определить, пересекаются ли прямые, совпадают или параллельны C++
C++ Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада
Заданы две прямые уравнениями вида y=kx+b. Определить, являются ли они параллельными C++
Определить, пересекаются ли эти прямые, совпадают или параллельны C++
C++ Две точки заданы своими координатами на плоскости.определить,какая из них находится ближе к началу координат

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
01.04.2014, 14:11     Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <iomanip>
#include <cmath>
using std::cout;
using std::cin;
using std::fixed;
using std::setprecision;
 
double Det2 (double a, double b, double c, double d)
{   return a*d - b*c;
}
 
int LinesIntersection (double a1, double b1, double c1, double a2, double b2, double c2, double &x, double &y)
{   double D0 = Det2 (a1,b1,a2,b2);
    double Dx = - Det2 (b1,c1, b2,c2);
    double Dy = - Det2 (a1,c1, a2,c2);
    double e = 1e-11; //вещественный "ноль"
 
    if (fabs(D0) < e)
    {   if (fabs(Dx) < e)
            return 0;   //прямые совпадают
        else
            return -1;  //прямые параллельны
    }
 
    x = Dx / D0;
    y = Dy / D0;
    return 1;   //прямые пересекаются
}
 
int main()
{   setlocale (LC_CTYPE, "Russian");
    double a1,b1,c1,a2,b2,c2, x, y;
 
    cout << "Введите коэффициенты уравнений прямых\n";
    cout << "a1 b1 c1:\t";
    cin >> a1 >> b1 >> c1;
    cout << "a2 b2 c2:\t";
    cin >> a2 >> b2 >> c2;
    cin.sync();
 
    x = y = 0.;
    int res = LinesIntersection (a1, b1, c1, a2, b2, c2, x, y);
    switch (res)
    {   case -1:    cout << "Прямые параллельны";
                    break;
        case 0:     cout << "Прямые совпадают";
                    break;  
        case 1:     cout << "Прямые пересекаются: Х = " << fixed << setprecision (4) << x << "  Y = " << y;
    }
    
    cin.get();
    return 0;
}
Yandex
Объявления
01.04.2014, 14:11     Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости
Ответ Создать тему
Опции темы

Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru