Вопрос задан 14.08.2018 в 03:08. Предмет Информатика. Спрашивает Гритченко Елена.

Задача в С++. Определить,могут ли три точки с коoрдинатами (x1,y1),(x2,y2),(x3,y3) являться

вершинами треугольника.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кот Мира.
#include "stdafx.h"
#include <iostream>
#include <cmath>

struct coord
{
    double x;
    double y;
};
using namespace std;
void TriangleExist(coord a, coord b, coord c)
{
    double modAB = sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
    double modAC = sqrt(pow((a.x-c.x),2)+pow((a.y-c.y),2));
    double modBC = sqrt(pow((b.x-c.x),2)+pow((b.y-c.y),2));
    if (modAB+modAC <= modBC)
        cout << "Do not exist" << endl;
    else if (modAC + modBC <= modAB)
        cout << "Do not exist" << endl;
    else if (modAB+modBC <= modAC)
        cout << "Do not exist" << endl;
    else
        cout << "Exist" << endl;
}

int main()
{
    coord A, B, C;
    cin >> A.x >> A.y;
    cin >> B.x >> B.y;
    cin >> C.x >> C.y;
    TriangleExist(A, B, C);
    system("pause");
    exit(0);
    return 0;
}
Еще способ с чистым мейном.
#include <iostream>
#include <conio.h>
#include <cmath> //математическая библия, ну очень облегчает задачу :)))

using namespace std;

void main(void)
{
    double Ax, Ay, Bx, By, Cx, Cy;
    cin >> Ax >> Ay >> Bx >> By >> Cx >> Cy;
     double modAB = sqrt(pow((Ax-Bx),2)+pow((Ay-By),2));
    double modAC = sqrt(pow((Ax-Cx),2)+pow((Ay-Cy),2));
    double modBC = sqrt(pow((Bx-Cx),2)+pow((By-Cy),2));
    if (modAB+modAC <= modBC)
        cout << "Do not exist" << endl;
    else if (modAC + modBC <= modAB)
        cout << "Do not exist" << endl;
    else if (modAB+modBC <= modAC)
        cout << "Do not exist" << endl;
    else
        cout << "Exist" << endl;
    _getch();
    return;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача в C++: Определить, могут ли три точки с координатами (x1,y1),(x2,y2),(x3,y3) являться вершинами треугольника.

Для определения, могут ли три точки с заданными координатами (x1,y1),(x2,y2),(x3,y3) являться вершинами треугольника, можно использовать следующий алгоритм:

1. Считать значения координат точек (x1,y1),(x2,y2),(x3,y3) с помощью ввода с клавиатуры или другого источника данных. 2. Проверить, существует ли треугольник с заданными координатами. Для этого можно использовать следующую формулу: треугольник существует, если площадь треугольника больше нуля. - Площадь треугольника можно вычислить с помощью формулы Герона или формулы площади треугольника через координаты вершин. - Если площадь треугольника больше нуля, то треугольник существует и точки (x1,y1),(x2,y2),(x3,y3) могут быть его вершинами. - Если площадь треугольника равна нулю, то треугольник не существует и точки (x1,y1),(x2,y2),(x3,y3) не могут быть его вершинами.

Вот пример кода на C++, который реализует этот алгоритм:

```cpp #include using namespace std;

// Функция для вычисления площади треугольника через координаты вершин double calculateTriangleArea(double x1, double y1, double x2, double y2, double x3, double y3) { return abs((x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2))/2.0); }

int main() { double x1, y1, x2, y2, x3, y3; // Ввод координат точек с клавиатуры cout << "Введите координаты точки 1 (x1, y1): "; cin >> x1 >> y1; cout << "Введите координаты точки 2 (x2, y2): "; cin >> x2 >> y2; cout << "Введите координаты точки 3 (x3, y3): "; cin >> x3 >> y3; // Вычисление площади треугольника double area = calculateTriangleArea(x1, y1, x2, y2, x3, y3); // Проверка существования треугольника if (area > 0) { cout << "Точки (" << x1 << ", " << y1 << "), (" << x2 << ", " << y2 << "), (" << x3 << ", " << y3 << ") могут быть вершинами треугольника." << endl; } else { cout << "Точки (" << x1 << ", " << y1 << "), (" << x2 << ", " << y2 << "), (" << x3 << ", " << y3 << ") не могут быть вершинами треугольника." << endl; } return 0; } ```

Примечание: В приведенном коде используется функция `abs()`, которая возвращает абсолютное значение числа. Эта функция находится в заголовочном файле ``, поэтому не забудьте добавить директиву `#include ` в начало программы, если вы планируете использовать эту функцию.

Надеюсь, это поможет! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос