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

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

Войти
Регистрация
Восстановить пароль
 
Ирина 379
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 29
#1

Найти треугольник наибольшей площади с вершинами в данных точках - C++

19.11.2014, 00:07. Просмотров 927. Ответов 6
Метки нет (Все метки)

Дано натуральное число n. С помощью двумерного действительного числового массива [xij]i=1,2; j=1,...,n на плоскости задано n точек так, что x1j, x2j – координаты j-й точки. Найти треугольник наибольшей площади с вершинами в этих точках.

Помогите пожалуйста дописать, не получается, заранее спасибо!

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
#include <iostream>
#include <cmath>
 
using namespace std;
int main()
{
    int Ax,Ay,Bx,By,Cx,Cy,n;
    int mas[2][10];
    cout<<"n=";
    cin>>n;
    double S;
    for (int i=0;i<2;i++)
        for( int j=0;j<n;j++)
        cin>>mas[i][j];
    for (int i=0;i<2;i++)
        for( int j=0;j<n;j++)
        {
    mas[0][0]=mas[Ax][Ay];
    mas[0][1]=mas[Bx][By];
    mas[0][n-1]=mas[Cx][Cy];
        }
    S=0.5*abs((Ax-Cx)*(By-Cy)-(Bx-Cx)*(Ay-Cy));
    
    cout<<S;
system ("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 00:07     Найти треугольник наибольшей площади с вершинами в данных точках
Посмотрите здесь:

Написать функцию булевского типа, проверяющую попадание точки с заданными координатами в треугольник с вершинами в точках (2,1) (3,0) (-1,0) C++
C++ Написать функцию булевского типа, проверяющую попадание точки с заданными координатами в треугольник с вершинами в точках (1,1) (0,2) (-1,0)
Геометрия (Найти все четырёхугольники, являющиеся выпуклыми, с вершинами в этих точках) C++
C++ Определить, сколько может быть построено квадратов с вершинами в заданых точках
Треугольник задан своими вершинами (x1,y1),(x2,y2),(x3,y3). Найти высоты треугольника. C++
Найти прямоугольник, наибольшей площади, заполненный единицами C++
Найти треугольник с наибольшей площадью с вершинами в точках заданных координатами (подправить код) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4506 / 3844 / 1294
Регистрация: 14.04.2014
Сообщений: 15,087
19.11.2014, 08:29     Найти треугольник наибольшей площади с вершинами в данных точках #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
int main()
{
    int Ax,Ay,Bx,By,Cx,Cy,n;
    int mas[10][2];
    cout<<"n=";
    cin>>n;
    double S, A, B, C, p;
 
    for (int i=0;i<n;i++) cin >> mas[i][0] >> mas[i][1]; // ввод пары x и y
 
    for (int i = 0; i < n - 2; i++)
        for (int j = i + 1; j < n - 1; j++)
            for (int k = j + 1; k < n; k++)
            {
                // Вершины
                Ax = m[i][0]; // x
                Ay = m[i][1]; // y
                Bx = m[j][0];
                By = m[j][1];
                Cx = m[k][0];
                Cy = m[k][1];
                // Стороны
                A = sqrt((Ax - Bx) * (Ax - Bx) + (Ay - By) * (Ay - By));
                B = sqrt((Ax - Cx) * (Ax - Cx) + (Ay - Cy) * (Ay - Cy));
                C = sqrt((Bx - Cx) * (Bx - Cx) + (By - Cy) * (By - Cy));
                p = (A + B + C) / 2; // полупериметр
                S = sqrt(p * (p - A) * (p - B) * (p - C)); // площадь
            }
    
    cout << S;
 
    system ("pause");
    return 0;
}
Ирина 379
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 29
19.11.2014, 19:31  [ТС]     Найти треугольник наибольшей площади с вершинами в данных точках #3
cпасибо, Вам, огромное!!!!!
Ирина 379
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 29
23.11.2014, 22:34  [ТС]     Найти треугольник наибольшей площади с вершинами в данных точках #4
Написали код, но не понятно, что производится в цикле (там где i,j,k). И почему вершины задаются именно таким набором координат? Заранее спасибо!!!!
Условие задачи:
Дано натуральное число n. С помощью двумерного действительного числового массива [xij]i=1,2; j=1,...,n на плоскости задано n точек так, что x1j, x2j – координаты j-й точки. Найти треугольник наибольшей площади с вершинами в этих точках.
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    int Ax,Ay,Bx,By,Cx,Cy,n;
    int m[10][2];
    cout<<"n=";
    cin>>n;
    double S, A, B, C, p;
 
    for (int i=0;i<n;i++) cin >> m[i][0] >> m[i][1]; // ввод пары x и y
 
    for (int i = 0; i < n - 2; i++)
        for (int j = i + 1; j < n - 1; j++)
            for (int k = j + 1; k < n; k++)
            {
                // Вершины
                Ax = m[i][0]; // x
                Ay = m[i][1]; // y
                Bx = m[j][0];
                By = m[j][1];
                Cx = m[k][0];
                Cy = m[k][1];
                // Стороны
                A = sqrt(double((Ax - Bx) * (Ax - Bx) + (Ay - By) * (Ay - By)));
                B = sqrt(double((Ax - Cx) * (Ax - Cx) + (Ay - Cy) * (Ay - Cy)));
                C = sqrt(double((Bx - Cx) * (Bx - Cx) + (By - Cy) * (By - Cy)));
                p = (A + B + C) / 2; // полупериметр
                S = sqrt(p * (p - A) * (p - B) * (p - C)); // площадь
            }
    
    cout << S;
 
    system ("pause");
    return 0;
}
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
3365 / 1687 / 448
Регистрация: 18.10.2014
Сообщений: 3,095
24.11.2014, 04:08     Найти треугольник наибольшей площади с вершинами в данных точках #5
Цитата Сообщение от Ирина 379 Посмотреть сообщение
не понятно, что производится в цикле (там где i,j,k)
Циклы проходят по все возможным треугольникам, построенным на заданных точках.

В цикле производится вычисление площади каждого треугольника по формуле Герона. Однако программа не дописана: с вычисленной площадью ничего не делается. Т.е. она не проверяется на максимальность, как того требует условие задачи.

Программа просто выводит самую последнюю вычисленную площадь, которая в общем случае не будет максимальной.

Цитата Сообщение от Ирина 379 Посмотреть сообщение
почему вершины задаются именно таким набором координат
Не понял вопроса. Каким "именно таким"? Вершины задаются набором координат, прочитанным из входного потока.
nmcf
4506 / 3844 / 1294
Регистрация: 14.04.2014
Сообщений: 15,087
24.11.2014, 08:39     Найти треугольник наибольшей площади с вершинами в данных точках #6
Да, забыл про максимум. Там пару строчек добавить. Допили.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 00:39     Найти треугольник наибольшей площади с вершинами в данных точках
Еще ссылки по теме:

Найти треугольник наибольшей площади с вершинами в заданных точках C++
Если на трёх точках можно построить разносторонний остроугольный треугольник, найти его площадь C++
C++ Среди заданных треугольников найти треугольник максимальной площади
Найти ошибку в нахождении наибольшей площади треугольника C++
Построить множество треугольников с вершинами в заданных точках согласно условию C++

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

Или воспользуйтесь поиском по форуму:
Ирина 379
0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 29
25.11.2014, 00:39  [ТС]     Найти треугольник наибольшей площади с вершинами в данных точках #7
Спасибо большое. Дописала, получилось
Yandex
Объявления
25.11.2014, 00:39     Найти треугольник наибольшей площади с вершинами в данных точках
Ответ Создать тему
Опции темы

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