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

Определить координаты вершин прямоугольного треугольника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнение и замена символов http://www.cyberforum.ru/cpp-beginners/thread751778.html
У меня есть файл с которого я считываю информацию массив. Если встречается определенный символ то мне нужно заменить его на другой. И самой главное мне нужно уже обработанный текст со всеми заменами...
C++ Определить общее количество осадков за этот год Занести из файла в массив сведения о количестве осадков, выпавших за каждый из 12 месяцев одного года. Определить общее количество осадков за этот год, среднемесячное количество осадков, количество... http://www.cyberforum.ru/cpp-beginners/thread751771.html
Ввести размер массива с клавиатуры и передать этот размер в конструктор C++
Я создал массив объектов. И я хочу ввести размер этого массива с клавиатуры, и передать этот размер в конструктор, как мне это сделать? #include <iostream> #include <conio.h> using namespace...
Объяснить алгоритм просто перебора C++
доброго времени суток! мой вопрос, наверное, покажется Вам очень глупым, но очень нужна ваша помощь! задачка не сложная:У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2...
C++ Написать программу, выводящую сумму и разность двух введенных чисел http://www.cyberforum.ru/cpp-beginners/thread751750.html
Написать программу, выводящую сумму и разность двух введенных чисел. Основная программа запрашивает два числа и передает их в функцию. Функция реализует вычисления и вывод на экран.Написать программу...
C++ Функция (удаление элементов вектора, равных переданному значению) Здравствуйте товарищи и С Новым Годом!!! Большую часть задания сделал, нужно еще кое что дополнить, все никак не соображу. Вообщем мне нужно, чтобы "Filter" удалял элементы вектора равные переданному... подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 16:40
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
#include <iostream>
#include <windows.h>
#include "math.h"
 
using namespace std;
 
 
struct point{
    double x;
    double y;
};
 
double lenght(double x1,double y1,double x2,double y2){
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
 // по теореме косинусов
double getAlpha(point tria[3]){
    double a = lenght(tria[0].x,tria[0].y,tria[2].x,tria[2].y);
    double b = lenght(tria[2].x,tria[2].y,tria[1].x,tria[1].y);
    double c = lenght(tria[0].x,tria[0].y,tria[1].x,tria[1].y);
    return acos((a*a - b*b - c*c)/(-2*b*c));
}
int main()
{
    point triangle[3];   //исходный треугольник
    point ortTriangle[3];//прямоугольный треугольник
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (int i = 0; i < 3; i++) {
        cout << " ВВедите координаты " << i+1 <<" Точки "<< endl;
        cin >> triangle[i].x >> triangle[i].y ;
    }
    int maxPoint[2] = { 0 , 1}; // предположим что наибольшее растояние между 1 и 2 точками
    double maxLenght = lenght(triangle[0].x,triangle[0].y,
                              triangle[1].x,triangle[1].y);
    for (int i = 0; i < 1; i++) {
        double tmpLenght = lenght(triangle[i].x,triangle[i].y,
                                  triangle[2].x,triangle[2].y);
        if (maxLenght < tmpLenght ) {
            maxLenght = tmpLenght;
            maxPoint[0] = i; maxPoint[1] = 2; // наибольшее между 3 и 1 либо 2
        }
    }
    ortTriangle[0] = triangle[maxPoint[0]]; // координаты прямоугольного треугольника
    ortTriangle[1] = triangle[maxPoint[1]]; // по наибольшей стороне исходного
    ortTriangle[2].x = ortTriangle[0].x;
    ortTriangle[2].y = ortTriangle[0].y + sin(getAlpha(triangle))*maxLenght;
    for (int i = 0; i < 3; i++) {
        cout << "Координаты вершины " << i+1 <<" Точки "<< endl;
        cout << ortTriangle[i].x <<" "<< ortTriangle[i].y << endl;
    }
    system("pause");
    return 0;
}
щас еще запилю визуальную прогу чтоб более наглядно было
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru