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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Линейная задача о круге в треугольнике http://www.cyberforum.ru/cpp-beginners/thread1135721.html
Требования к программе: - Числовые значения переменных ввести с клавиатуры, вывод напоминания при этом обязательно; - Вывести на экран значения входных данных и окончательные результаты...
C++ Дан прямоугольник с размерами 543x130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него? Дан прямоугольник с размерами 543x130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него? http://www.cyberforum.ru/cpp-beginners/thread1135719.html
Известен год рождения каждого человека из группы. Определить число людей, родившихся до 1985 и число после 1990 г. C++
Известен год рождения каждого человека из группы. Определить число людей, родившихся до 1985г. и чило родившихся после 1990г.
Даны четыре целых числа. найти сумму тех из них, которые кратны трем и больше пяти. Оператор цикла не использовать C++
Даны четыре целых числа. найти сумму тех из них, которые кратны трем и больше пяти. Оператор цикла не использовать !
C++ Дано вещественное число n.Пользуясь только операцией умножения получить а в 27 степени за шесть операций http://www.cyberforum.ru/cpp-beginners/thread1135714.html
Дано вещественное число n.Пользуясь только операцией умножения получить а в 27 степени за шесть операций
C++ Даны действительные числа A, B, C, D. Каждое число заменить наибольшим из них, если выполняется условие Даны действительные числа A,B,C,D. Если A<=B<=C<=D, то каждое число заменить наибольшим из них; если A>B>C>D, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.... подробнее

Показать сообщение отдельно
IrineK
Заблокирован
01.04.2014, 14:11
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru