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

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

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

Каким образом программа определяет эффективный угол? - C++

08.03.2014, 01:35. Просмотров 349. Ответов 6
Метки нет (Все метки)

Ребят, объясните одну вещь:
есть программа на С++,которая вычисляет при каком угле расстояние полета тела будет максимальным, и выводит эти значения.Вот участок кода который это делает:

C++
1
2
3
4
5
6
7
8
9
10
11
float d, max_d, max_a;
max_d = 0;
for (float a = 0; a < 90; a+=1) перебирает значение угла
{
d = dist(v,a);
if (max_d < d) Почему программа записывает именно максимальное значение d, ведь условие требует ЛЮБОЕ число больше нуля?
{
max_d = d;
max_a = a;
}
}
cout « "Максимальное расстояние: "«d«endl;
cout « "Эффективный угол: "«a«endl;
Собственно вопрос: Каким образом программа определяет эффективный угол?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 01:35     Каким образом программа определяет эффективный угол?
Посмотрите здесь:

Объясните, каким образом программа могла бы использовать класс string, не прибегая к объявлению using - C++
Объясните, каким образом программа могла бы использовать класс string, не прибегая к объявлению using.

Программа определяет код символа по кодовой таблицей ASCII и определяет размер типа данных в байтах - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include &lt;stdlib.h&gt; int main() {puts(&quot;My first program&quot;); //вывод сообщения char s='a'; int...

Каким образом разархивировать gzip? - C++
Здравствуйте, имеется буфер (ответ сервера на запрос), заархивированный в gzip (в заголовке - Content-Encoding: gzip) Требуется его...

Каким образом зашифровать Hex строки - C++
Интересует следующий вопрос, каким образом можно зашифровать hex строку в dll чтобы ее нельзя было расшифровать. Сам в прикладном...

Каким образом параметры передаются в функцию? - C++
Задумался над тем, каким образом параметры передаются в функцию. Т.е. как именно это происходит внутри, это уже на вопрос к тому, как...

Каким образом реализуется квалификатор const? - C++
Каким образом реализуется квалификатор const? Хранится ли в памяти в процессе выполнения программы какая либо информация по этому...

Каким образом auto может улучшить производительность? - C++
В книге у Мейерса говорится о том, что с точки зрения производительности выводить тип для лямбды лучше через auto. То что такая запись...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
08.03.2014, 01:54     Каким образом программа определяет эффективный угол? #2
Tim308, Функция dist считает расстояние для текущего угла. В процессе прохода по циклу расстояние сравнивается с max_d. Если посчитанное расстояние для текущего угла больше чем последнее значение max_d, то max_d становится равным значению этого расстояния. Попутно запоминается угол, на котором это расстояние было получено. Ну и т.д. В конце у нас получается максимальное расстояние, достигнутое на заданном диапазоне углов, и собственно угол, на котором получение этого расстояния стало возможным (т.к. они запоминаются вместе).
Цитата Сообщение от Tim308 Посмотреть сообщение
Почему программа записывает именно максимальное значение d, ведь условие требует ЛЮБОЕ число больше нуля?
К сожалению формулировки самого условия ты не привел.
Но по тому, что видно, вроде бы все логично. Если мы считаем эффективным углом тот, при котором достигается наибольшая горизонтальная дальность бросания, то программа работает корректно (я исхожу из предположения, что в функции dist нет ошибок).
Tim308
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 24
08.03.2014, 02:14  [ТС]     Каким образом программа определяет эффективный угол? #3
DrOffset, Ааа...я понял..т.е. при каждом проходе цикла программа записывает значение большее 0 в max_d, потом берет это число из max_d и сравнивает его с новым значением d и таким образом находится максимальное
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
08.03.2014, 02:45     Каким образом программа определяет эффективный угол? #4
Tim308, да.
Еще хотел спросить, ты в курсе, что эта задача: "нахождение максимального расстояния по заданному углу бросания" не требует перебора? Наибольшее расстояние всегда будет получено при угле 45 градусов.
gunslinger
случайный прохожий
1132 / 750 / 191
Регистрация: 20.07.2013
Сообщений: 2,067
08.03.2014, 03:09     Каким образом программа определяет эффективный угол? #5
Если не учитывать сопротивление воздуха, я прав? Или это повлияет только на расстояние?
Хотя я придираюсь (можно просто считать сопротивление константой, иначе рассчет скорей всего вызовет сложности).
v, так понимаю, скорость тела при броске?
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
08.03.2014, 03:46     Каким образом программа определяет эффективный угол? #6
gunslinger, если учитывать сопротивление воздуха, ветер в слоях атмосферы, кривизну земли, разное значение g в зависимости от высоты траектории и т.д., тот тут будут совсем другие расчеты
Конечно тут все упрощено.
v - да, начальная скорость.
Тут формула простая: L = V02 * sin(2 * a) / g
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2014, 09:48     Каким образом программа определяет эффективный угол?
Еще ссылки по теме:

Каким образом можно сделать выключение компютера С++ - C++
Появилась идея сделать интересную программу. Всё уже продумал кроме выключения ПК. То есть каким образом заставить ПК выключится после...

Каким образом пройдёт передача параметров в функцию - C++
Доброго времени! Переписываю код с Си. Есть такая вот ф-ия: cl_int clEnqueueCopyImage ( сonst size_t src_origin ) Как произойдёт...

Каким образом работает swap в приведенном коде? - C++
Каким образом работает swap в коде ниже? #include&lt;list&gt; #include&lt;memory&gt; #include&lt;utility&gt; struct test { ...

Каким образом компилировать код не си-подобных языков? - C++
Каким образом компилировать код не си подобных языков? Просто си я знаю можно скомпилировать в консоли например из текстового файла

Каким образом нормально считать с консоли строку? - C++
Дело в том что необходимо считывать строки вводимые с консоли. Но полноценно это не выходит. Ф-ция scanf() обеспечивает считывание только...


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

Или воспользуйтесь поиском по форуму:
Tim308
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 24
08.03.2014, 09:48  [ТС]     Каким образом программа определяет эффективный угол? #7
DrOffset, Да знаю.Тут сама суть была написать "умную" программу.
Yandex
Объявления
08.03.2014, 09:48     Каким образом программа определяет эффективный угол?
Ответ Создать тему
Опции темы

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