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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
#1

По заданным точкам двух треугольников определить подобны ли они - C++

02.11.2014, 22:21. Просмотров 977. Ответов 29
Метки нет (Все метки)

Доброго времени суток, господа.Возникла проблема с этой задачей
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2014, 22:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос По заданным точкам двух треугольников определить подобны ли они (C++):

По заданным числам определить, дружественны ли они - C++
Назовем два числа дружными, если они состоят из одинаковых множеств цифр (вне зависимости от их количества) . По заданным числам...

По заданным целочисленным координатам на плоскости определить какую геометрическую фигуру они образуют - C++
По заданным целочисленным координатам четырех точек на плоскости определить , какую геометрическую фигуру они образуют , если их соединить...

Составить треугольники по точкам и найти площади этих треугольников - C++
Дано N количество точек. Задать координаты этих точек, составить треугольники и найти площади этих треугольников и вывести на экран.

Определить сумму элементов каждого из двух массивов, а также насколько они различаются - C++
Создать два массива: каждый из 5 случайных целых чисел из отрезка . Вывести массивы на экран (каждый на отдельной строке). Определить и...

Построение графика по заданным точкам - C++
Доброго времени суток! Очень нужна помощь: вывести на экран график по заданным координатам точек из файла..строить нужно в консоли. ...

Определить площади двух треугольников, заданных длинами сторон (через клавиатуру), по формуле Герона. Полупериметр вычислять с помощью функции - C++
Привет всем, ребят кому не сложно помогите,написать програму на Си++ для института только учусь чето пробовал не получаеться 3 написал а...

29
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 22:43 #2
И в чем же проблема? В математике, в С++ или вообще "дайте все и сразу"?
0
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 22:50  [ТС] #3
Ну по идее нельзя же измерить углы в с++,так что подобие нужно будет определять по пропорциональностям сторон в этом треугольнике.Длину стороны мы можем измерить,отняв начало от конца,а далее у меня ступор
0
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 22:53 #4
Не верьте - в С++ можно все И через углы, и через стороны. Хотите через стороны - начинайте с кода вычисления их длин.
0
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 23:08  [ТС] #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    int A1, A2, B1, B2, C1, C2, D1, D2, E1, E2, F1, F2, a, b, c, d, e, f;
    cout << " Vuvedete koordinati A, B, C " ;
    cin << A1 << A2 << B1 << B2 << C1 << C2;
    cout << " Vuvedete koordinati D, E, F " ;
    cin << D1 << D2 << E1 << E2 << F1 << F2;
    a = sqrt(pow(B1 - A1, 2) + pow(B2 - A2, 2));
    b = sqrt(pow(C1 - B1, 2) + pow(C2 - B2, 2));
    c = sqrt(pow(C1 - A1, 2) + pow(C2 - A2, 2));
Длину вычислил,подскажите пожалуйста,что дальше?
0
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 23:12 #6
Хорошо. Теперь у вас есть 3 длины сторон одного треугольника и 3 другого. Как предположить, какая сторона первого какой стороне второго соответствует?
1
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
02.11.2014, 23:12 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Важен порядок ввода точек
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main(){
    
    double x[2][3];
    double y[2][3];
    
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 3; ++j){
            cout << "x[" << i + 1 << "][" << j + 1 << "] = ";
            cin >> x[i][j];
            cout << "y[" << i + 1 << "][" << j + 1 << "] = ";
            cin >> y[i][j];
        }
        
    double a[2][3];
    
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 3; ++j){
            double dx = x[i][(j % 3)] - x[i][(j + 1) % 3];
            double dy = y[i][(j % 3)] - y[i][(j + 1) % 3];
            a[i][j] = sqrt (dx * dx + dy * dy);
        }
    
    double k = a[0][0] / a[1][0];
    int b = 0;
    const double eps = 0.000001;
    for (int i = 1; i < 3; ++i)
        if (a[0][i] / a[1][i] - k < eps)
            ++b;
            
    if (b == 2)
        cout << "ÒðåóãîëüГ*ГЁГЄГЁ ïîäîáГ*Г»!" << endl;
}
1
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 23:13 #8
Foody, Только для скурта и пова нужен мат, и длины сторон могут быть не целые.
0
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 23:16  [ТС] #9
изменил int на double, добавил cmath.По идее меньшая - наименьшей,большая - наибольшей
0
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 23:18 #10
Да вы все знаете, оказывается А что ж тогда ждете от форума - давайте полный код.
0
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 23:22  [ТС] #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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    double A1, A2, B1, B2, C1, C2, D1, D2, E1, E2, F1, F2, a, b, c, d, e, f;
    cout << " Vuvedete koordinati A, B, C " ;
    cin << A1 << A2 << B1 << B2 << C1 << C2;
    cout << " Vuvedete koordinati D, E, F " ;
    cin << D1 << D2 << E1 << E2 << F1 << F2;
    a = sqrt(pow(B1 - A1, 2) + pow(B2 - A2, 2));
    b = sqrt(pow(C1 - B1, 2) + pow(C2 - B2, 2));
    c = sqrt(pow(C1 - A1, 2) + pow(C2 - A2, 2));
    d = sqrt(pow(E1 - D1, 2) + pow(E2 - D2, 2));
    e = sqrt(pow(F1 - E1, 2) + pow(F2 - C2, 2));
    f = sqrt(pow(F1 - D1, 2) + pow(F2 - D2, 2));
    if (a / d == b / e == c / f)
    {
        cout << " Treugolniki podobni " ;
    }
    return 0;
}
Слишком просто как-то все,уверен что неверно
0
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 23:25 #12
Правильно уверены. Я вот не знаю всех этих современных стандартов С и С++ и не могу предположить, как компилятор воспримет
C++
1
if (a / d == b / e == c / f)
, поэтому просто такое не пишу. А еще, слово равно, оно такое строгое..... Вот как вы считаете, например, пи = 3.13926 или нет?
1
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 23:27  [ТС] #13
warning C4805: ==: небезопасное смешение типа 'bool' и типа 'double' в операции
Вот что мне пишет компилятор. Пи - число бесконечное
0
_Ivana
3229 / 1857 / 157
Регистрация: 01.03.2013
Сообщений: 5,085
Записей в блоге: 5
02.11.2014, 23:29 #14
Ну и давайте, исправляйте ваш код с учетом этих открытий, не надо тривиальщину сюда писать
0
Foody
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 25
02.11.2014, 23:36  [ТС] #15
К сожалению мне это совсем ничего не открыло,я все также никак не могу понять что же мне надо исправить

Добавлено через 3 минуты
Не могли бы вы разъяснить на что мне исправить,мои мысли в тупике
0
02.11.2014, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2014, 23:36
Привет! Вот еще темы с ответами:

Построить прямоугольник по двум заданным точкам - C++
Построить прямоугольник по двум заданным точкам: левому верхнему и правому нижнему углам. Обе точки указываются с клавиатуры, а именно:...

даны стороны двух прямоугольников. определить, будут ли эти прямоугольники равновеликими, т.е имеют ли они равные площади. - C++
программирование алгоритмов разветляющейся структуры. (для программирования ветвящихся алгоритмов применятся условный оператор (оператор...

Вводятся длины сторон двух треугольников. Определить, являются ли они подобными - Pascal ABC
Помогите решить! Вводятся длины сторон двух треугольников. Определить, являются ли они подобными.

По заданным катетам двух прямоугольных треугольников проверить их подобие - PascalABC.NET
написать программу которая по заданным катетам двух прямоугольных треугольников проверяет их подобие.в случае подобие или не подобие...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru