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

Использовать функцию нахождения координат точки пересечения двух прямых и вычисления площади треугольника

11.06.2017, 11:48. Показов 1897. Ответов 2
Метки нет (Все метки)

Здравствуйте, необходимо решить задачу, используя функцию.
Условие задачи:
Три прямые на плоскости заданы уравнениями аkx+bky+ck, (k=1,2,3). Если эти прямые попарно пересекаются и образуют треугольник, то определить его площадь. Использовать процедуру (или функцию) нахождения координат точки пересечения двух прямых и вычисления площади треугольника по координатам его вершин.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2017, 11:48
Ответы с готовыми решениями:

Формула нахождения точки пересечения двух прямых
q all, need help! формула работает нормально вроде, всё окей. Но как узнать где эта точка...

непонятка с формулой нахождения точки пересечения двух прямых
работающая формула и код реализации BOOL IsLinesCross(_int64 x11, _int64 y11, _int64 x12,...

процедура для нахождения точки пересечения двух прямых
составить процедуру для нахождения точки пересечения двух прямых.Найти попарно точки пересечения...

Процедура для нахождения точки пересечения двух прямых
Составить процедуру для нахождения точки пересечения двух прямых. Найти попарно точки пересечения...

2
1472 / 1188 / 820
Регистрация: 29.02.2016
Сообщений: 3,579
11.06.2017, 20:14 2
Лучший ответ Сообщение было отмечено Yhji как решение

Решение

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
#include <iostream>
#include <math.h>
 
using namespace std;
void parall(double a1, double a2, double b1, double b2)
{
    if ((a1 / a2) == (b1 / b2)) 
    {
        cout << "Lines parallel!";
        system("pause");
        exit(0);
    }
}
void intersect(double a1, double a2, double b1, double b2, double c1, double c2, double& x, double& y)
{
    double det = a1 * b2 - a2 * b1;
    x = (b1 * c2 - b2 * c1) / det;
    y = (a2 * c1 - a1 * c2) / det;
}
 
double area(double x0, double x1, double x2, double y0, double y1, double y2)
{
    return abs(x0 * (y1 - y2) + x1 * (y2 - y0) + x2 * (y0 - y1)) / 2;
}
 
int main()
{
    double a1, a2, a3, b1, b2, b3, c1, c2 , c3;
    double x1=0, x2 = 0, x3 = 0, y1 = 0, y2 = 0, y3 = 0;
    // line equation ax + by + c = 0
    cout << " Input line 1 "; cin >> a1 >> b1 >> c1;
    cout << " Input line 2 "; cin >> a2 >> b2 >> c2;
    cout << " Input line 3 "; cin >> a3 >> b3 >> c3;
    parall(a1, a2, b1, b2);
    parall(a1, a3, b1, b3);
    parall(a2, a3, b2, b3);
    intersect(a1, a2, b1, b2, c1, c2, x1, y1);
    intersect(a1, a3, b1, b3, c1, c3, x2, y2);
    intersect(a2, a3, b2, b3, c2, c3, x3, y3);
    cout << "S=" << area(x1, x2, x3, y1, y2, y3) << endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 11.06.2017
Сообщений: 13
11.06.2017, 23:09  [ТС] 3
Большое спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2017, 23:09

Составить подпрограмму определения координат точки пересечения двух прямых
Составить подпрограмму определения координат точки пересечения двух прямых y={k}_{1}x+{b}_{1} и...

Вычисление координат точки пересечения двух заданных уравнениями прямых
две прямые описываются уравнениями: а1х+в1у+с1=0; а2х+в2у+с2=0. напечатать координаты точки...

Приложение для определения координат точки пересечения двух прямых
Приложение для определения координат точки пересечения двух прямых. Каждая из прямых задается...

Создать функцию поиска точки пересечения двух прямых
function cross=(y1,y2) y1=('A*x+B'); y2=('C*x+D'); x0=0; x=fzero('A*x+B-(C*x+D)',x0); End А...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru