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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.86
alex_bojik
Заблокирован
#1

Определение максимальной площади - C++

02.11.2011, 11:00. Просмотров 3026. Ответов 21
Метки нет (Все метки)

Доброго все времени суток!
Есть 2 луча исходящие из одной точки, угол между ними 90. Есть также 2 отрезка a и b. Необходимо найти такое расположение этих отрезков, чтобы получился четырехугольник максимальной площади... причем положения находить необязательно достаточно вычислить площадь...
Задача взята отсюда
Если кто знает какие-нибудь теоремы на эту тему подскажите пожалста.

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 <math.h>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int a,b;
    double max = 0,max1 = 0,PI = 3.141592653589793238462643383;
    cin>>a>>b;
    for(int i=0;i<=180;i++)
        for(int j=0;j<=180;j++)
        {
            double x=a*sin(i*PI/360);
            double y=b*sin(j*PI/360);
            double s= (2*x*y+sqrt(a*a-x*x)*x+sqrt(b*b-y*y)*y)/2;
            if (max<s)
                max=s;
        }
    cout<<setprecision(7)<<fixed<<max;
    return 0;
}
Это примерное решение... но так как перебором не совсем точно
Есть идея по поводу производной от функции площади... но там две переменные и с этим небольшие проблемы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 11:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение максимальной площади (C++):

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

Среди заданных треугольников найти треугольник максимальной площади - C++
N треугольников плоскости заданы длинами своих сторон. Найдите треугольник максимальной площади.

Определить треугольники минимальной и максимальной площади, которые можно построить из отрезков - C++
13. Известны длины отрезков a, b, c и d. Определить треугольники минимальной и максимальной площади, которые можно построить из этих...

Определить треугольники минимальной и максимальной площади, которые можно построить из отрезков - C++
Известны длины отрезков a. b. с и d. определить треугольники минимальной и максимальной площади, которые можно построить из этих отрезков. ...

Определение максимальной и минимальной цифры натурального числа - C++
Дано натуральное число: 1)Определить его максимальную и минимальную цифры 2)определить, на сколько его максимальная цифра превышает...

Определение площади и длины радиуса круга - C++
Помогитееее, срочно =) В первый ряд файла output.txt вывести площадь круга радиуса R. На второй строке вывести длину круга радиуса R. Тест...

21
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
02.11.2011, 15:52 #2
Думаю так, но могу ошибаться:

Определение максимальной площади

Почему-то мне кажется, что я ошибаюсь. Не может же оно быть так просто
1
alex_bojik
Заблокирован
02.11.2011, 16:08  [ТС] #3
Название: 123.png
Просмотров: 158

Размер: 1.7 Кб вот так примерно
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.11.2011, 17:06 #4
площадь многоугольника максимальна, если его возможно вписать в окружность.
в случае четырехугольника, описать вокруг него окружность можно, если выполняется условие "произведение диагоналей = сумме произведений противоположных сторон".

пища для размышлений дана)
2
alex_bojik
Заблокирован
02.11.2011, 17:18  [ТС] #5
спасибо буду думать))))
0
Апострофф
Заблокирован
02.11.2011, 17:30 #6
А мне что-то подсказывает, что решение где-то тут
1
Изображения
 
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.11.2011, 17:31 #7
забыл указать, что это справедливо для выпуклого многоугольника. хотя сомневаюсь, что не выпуклый сможет оказаться больше по площади...
0
Апострофф
Заблокирован
02.11.2011, 17:42 #8
Цитата Сообщение от Paporotnik Посмотреть сообщение
площадь многоугольника максимальна, если его возможно вписать в окружность
Это справедливо для случая, когда известны длины всех сторон, а не половины
0
alex_bojik
Заблокирован
02.11.2011, 17:45  [ТС] #9
Цитата Сообщение от Апострофф Посмотреть сообщение
А мне что-то подсказывает, что решение где-то тут
кстати я тоже так думал... но когда формулу выводил не получилось, хотя надо еще раз попробовать....

Добавлено через 1 минуту
Цитата Сообщение от Paporotnik Посмотреть сообщение
площадь многоугольника максимальна, если его возможно вписать в окружность
да кстати... в случае a = b получается что квадрат можно вписать в окружность... но его площадь не максимальна
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
02.11.2011, 17:52 #10
Аж самому интересно стало. Развивая высказанную мысль:

Определение максимальной площади

Хотя, опять могу не туда смотреть
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.11.2011, 18:43 #11
Это справедливо для случая, когда известны длины всех сторон, а не половины
это справедливо для любого выпуклого многоугольника. и не важно, что мы о нем знаем.

да кстати... в случае a = b получается что квадрат можно вписать в окружность... но его площадь не максимальна
в случае a=b получается, что a=b и только) это не дает никакой информации о двух других сторонах. это может быть и просто прямоугольный треугольник, и квадрат, и композиция прямоугольного треугольника и равнобедренного треугольника с основанием на диагонали.
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.11.2011, 18:52 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
в общем поразмышлял.
если многоугольник можно вписать в окружность, то он имеет максимальную площадь.
представим, что этот многоугольник у нас 8-угольный. причем обладает горизонтальной и вертикальной симметрией, т.е. состоит из 4-х одинаковых 4-х угольников.
совершенно очевидно, что если весь многоугольник имеет максимальную площадь, то и каждый из этих 4-х угольников будет иметь максимальную площадь.
таким образом, имеем 4-х угольник (к примеру, возьмем тот, что оказывается в 1-ой четверти описанной окружности), одна вершина которого находится в центре описанной окружности, две других смежных вершины - соответственно справа и сверху от нее на расстоянии R, а четвертая - где-то на дуге, отсеченной образованным прямым углом.
получается, что искомая площадь получится как сумма двух равнобедренных треугольников, причем "бедра" обоих равны радиусу, а основание известно из условия.
доводить до формулы лень. возможно понадобится тот факт, что радиус, перпендикулярный хорде, делит ее пополам.

картинка, для понимания)
5
Миниатюры
Определение максимальной площади  
Cute
1061 / 643 / 66
Регистрация: 10.02.2011
Сообщений: 518
02.11.2011, 21:11 #13
Данную задачу можно решить, используя метод оценок.
2
Миниатюры
Определение максимальной площади   Определение максимальной площади  
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.11.2011, 22:09 #14
а по-моему твоя формула показывает площадь композиции равнобедренного и прямоугольного треугольника. и это не связано с максимальной площадью получаемой фигуры.

с чего ты взял, что максимальная площадь будет стремиться к сумме равнобедренного ABC и прямоугольного BCD?
тебе не кажется, что достаточно точку B перенести выше (зеркально отразить относительно горизонтали через D) и площадь фигуры увеличится значительно, а твоя формула будет по-прежнему указывать на площадь старой фигуры?

p.s. в вычислениях по-прежнему много ошибок)
0
Cute
1061 / 643 / 66
Регистрация: 10.02.2011
Сообщений: 518
02.11.2011, 22:50 #15
Ошибки я заметил и исправил (сегодня я очень рассеянный). Ниже выложу исправленный вариант.

Моё решение основано на следующих фактах.

1) Площадь четырёхугольника ABCD равна сумме площадей его частей - треугольников BDA и BDC (свойство аддитивности площади). Если каждое из слагаемых будет максимально возможным, то и суммарная площадь будет максимальной.

2) Предположим, что четырёхугольник ABCD максимальной площади уже построен, тогда прямоугольный треугольник BDA должен являться равнобедренным, так как из всех прямоугольных треугольников с данной гипотенузой наибольшую площадь имеет равнобедренный.

Далее из всех треугольников со сторонами a, b и углом между ними gamma наибольшую площадь будет иметь прямоугольный треугольник с катетами a, b и углом gamma=90 градусов.

Если в моих рассуждениях есть ошибки, то укажите их.
1
Миниатюры
Определение максимальной площади   Определение максимальной площади  
02.11.2011, 22:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2011, 22:50
Привет! Вот еще темы с ответами:

Определение максимальной и минимальной суммы двух соседних элементов массива - C++
дан массив целых чисел написать программу для определения максимальной и минимальной суммы двух соседних элементов массива

Определение площади заштрихованной фигуры методом Монте-Карло - C++
Составить программу для определения методом Монте-Карло пло- щади заштрихованой фигуры. Вычислить фактическую площадь и сравнить ее с...

Вывод максимальной дроби - C++
Проблема в том, что в выводе выводится первый элемент, как будто он не проверяет &quot;If&quot;. Вот код: #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

Поиск максимальной компоненты файла - C++
Написал программу, с помощью которой записываются данные в файл, а за тем производится поиск максимального числа. Вот код, он полностью...


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

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

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