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

Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
KISH21
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 45
20.02.2013, 12:34     Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада #1
Две прямые описываются уравнениями
а1x+b1y+c1=0
a2x+b2y+c2=0
напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпадают, не пересекаются или вовсе не существуют.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 12:34     Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада
Посмотрите здесь:

Определить пересекаются две прямые, параллельны или совпадают.Две прямые заданы уравнениями: ax+by+c=0, px+qy+r=0 C++
C++ две прямые либо паралельны либо совпадают либо не существуют
C++ помогите пожалуйста задать прямые с помощью структур прямые задаются точкой и направляющим вектором. дальше как делать знаю
C++ Напечатать координаты точки пересечения прямых
Вычисление координат точки пересечения двух заданных уравнениями прямых C++
Заданы две прямые уравнениями вида y=kx+b. Определить, являются ли они параллельными C++
C++ Пользователь вводит две пары вещественных чисел: k 1,b1 и k 2,b2. Составить функцию для определения точки пересечения двух прямых y=k1x+b1 и y=k2x+b2,
C++ Определить пересекаются ли две прямые, заданные своими уравнениями на плоскости

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
20.02.2013, 19:28     Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада #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
55
56
57
58
59
60
61
#include <iostream>
 
int main()
{
    setlocale(0, "");
    double a1, b1, c1;
    double a2, b2, c2;
    std::cout << "Введите параметры прямых" << std::endl;
    std::cin >> a1 >> b1 >> c1 >> a2 >> b2 >> c2;
    if (a1 != 0 && b1 != 0 && a2 != 0 && b2 != 0) {
        double y = (a2*c1 - a1*c2)/(a1*b2 - a2*b1);
        double x = (-c1 - b1*y)/a1;
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 == 0 && b1 != 0 && a2 != 0 && b2 != 0) {
        double y = -c1/b1;
        double x = (c1*b2 - c2*b1)/(a2*b1);
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 != 0 && b1 != 0 && a2 == 0 && b2 != 0) {
        double y = -c2/b2;
        double x = (c2*b1 - c1*b2)/(a1*b2);
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 != 0 && b1 == 0 && a2 != 0 && b2 != 0) {
        double x = -c1/a1;
        double y = (c1*a2 - c2*a1)/(b2*a1);
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 != 0 && b1 != 0 && a2 != 0 && b2 == 0) {
        double x = -c2/a2;
        double y = (c2*a1 - c1*a2)/(b1*a2);
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 == 0 && b1 != 0 && a2 != 0 && b2 == 0) {
        double x = -c2/a2;
        double y = -c1/b1;
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 != 0 && b1 == 0 && a2 == 0 && b2 != 0) {
        double x = -c1/a1;
        double y = -c2/b2;
        std::cout << "x = " << x << ", y = " << y;
    }
    else if (a1 == 0 && b1 == 0 && (a2 != 0 || b2 != 0)) {
        std::cout << "первая прямая не существует";
    }
    else if ((a1 != 0 || b1 != 0) && a2 == 0 && b2 == 0) {
        std::cout << "вторая прямая не существует";
    }
    else if (a1 == 0 && b1 == 0 && a2 == 0 && b2 == 0) {
        std::cout << "обе прямые не существуют";
    }
    else if (a1 == a2 && b1 == b2 && c1 == c2) {
        std::cout << "прямые совпадают";
    }
    else if (a1 == a2 && b1 == b2 && c1 != c2) {
        std::cout << "прямые параллельны";
    }
    system("PAUSE>0");
}
Yandex
Объявления
20.02.2013, 19:28     Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада
Ответ Создать тему
Опции темы

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