Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для alfer
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 38

Вычисление максимальной дальности полета и максимального угла

22.04.2010, 00:05. Показов 2612. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех.
Только начал изучение программирования, решил изучать с c++
Задачка для вычисление максимально дальности полета и максимального угла, вот:
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
#include <iostream>
#include <cmath>
 
 
float dist ( float v, float a)
{
    return v * v *  sin (2 * a * 0.0175 )/ 9.8; 
 
}
 
 
using namespace std;
int main()
{
    float v;
    cout << "Vvedite skorost, m/s - ";
    cin >> v;
    float d;
    float max_d;
    float max_a;
    max_d = 0;
    for (float a = 0; a < 90; a += 1)
    {
        d = dist (v,a);
        if (max_d < d)
        {
            max_d = d;
            max_a = a;
        }
 
    }
    cout << "Max distance - " << max_d << endl;
    cout << "Max ugol - " << max_a;
}
Вопросы вот какие:
1. зачем нужна строка max_d = 0;
2. Где здесь вычисляется именно то, что при нахождение максимального угла задача считается выполненной. Я все никак просто не могу алгоритм понять здесь, в этой части:
C++
1
2
3
4
5
6
7
8
9
{
        d = dist (v,a);
        if (max_d < d)
        {
            max_d = d;
            max_a = a;
        }
 
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2010, 00:05
Ответы с готовыми решениями:

Вычисление дальности полёта снаряда
Задали составить программу в Pascale.Вычисление дальности полёта снаряда. Сможете составить?

Отношение высоты полета и дальности полета
Тело брошено под углом к горизонту. Найдите, во сколько раз максимальная высота его подъема меньше дальности полета тела, если отношение...

формула расчета дальности полета ракеты
Здравствуйте! Возможно ли теоритически расчитать дальность полета ракеты под определеным углом зная такие характеристики: масса, время...

5
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.04.2010, 06:46
C++
1
if (max_d < d)
сюда заходит только когда max_d < d

Цитата Сообщение от alfer
1. зачем нужна строка max_d = 0;
max_d может не содержать нуля при создании (так как она не глобальная и не локальная статическая)

Цитата Сообщение от alfer
Где здесь вычисляется именно то, что при нахождение максимального угла задача считается выполненной.
после цикла для максимальной дальности полёта max_d есть её угол max_a
цикл отфильтровал
1
 Аватар для alfer
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 38
22.04.2010, 08:09  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
сюда заходит только когда max_d < d
Эт я понял, но вот вопрос как раз, а что это за max_d , что (какое число) сравнивается с результатом d? Ничего же не вводится, ничего же не вычисляется, а что тогда сравнивается с d?
Я конечно вижу, результат есть, но честно никак не пойму этот момент.
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
22.04.2010, 08:49
C++
1
2
3
4
5
6
7
8
9
10
11
12
        max_d = 0; //Это инициализация переменной max_d, т.е. при запуске программы максимальная дистанция = 0.
 
        for (float a = 0; a < 90; a     += 1) //Здесь цикл от 0 до 90 градусов.
        {
                d = dist (v,a);//Вычисляется дистанция при введенной скорости v и угла a (который перебирается в цикле)
                if (max_d < d)//Сравниваем расчетную дистанцию d с максимальной max_d (при первом проходе цикла max_d = 0)
                {
                        max_d = d;//устанавливаем значение максимальной дистанции
                        max_a = a;//устанавливаем значение максимального угла
                }
         }
         //После перебора всех углов получаем в max_d максимальную дистанцию и в max_a максимальный угол
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.04.2010, 10:00
Цитата Сообщение от alfer
что (какое число) сравнивается с результатом d?
предыдущее d
начинается с нуля, таким образом первая полученная дистанция сразу записывается как самая большая (так как она не нулевая), а следующая дистанция (вторая) сравнивается с самой большой дистанцией (первой) и, если вторая больше первой, то вторая запишется как самая большая, а если нет, то вычислится третья дистанция и будет сравниваться с самой большой (первой)
если третья дистанция больше самой большой, то третья запишется как самая большая
смысл цикла в том, чтобы оставить самую большую дистанцию
1
 Аватар для alfer
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 38
22.04.2010, 14:41  [ТС]
Как все просто, правда когда вы объяснили . accept,uggway, большое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2010, 14:41
Помогаю со студенческими работами здесь

Реализуйте функцию расчета угла прицеливания, в зависимости от начальной скорости снаряда и дальности до цели
Помогите пожалуйста решить задачу.

Вывести данные об авиарейсе с максимальной длительностью полета
№ Авиарейса Время вылета Время прилета Направление Марка самолета Расстояние Вывести данные об авиарейсе с максимальной...

Найти вид зависимости горизонтальной длины полета тела и максимальной высоты траектории
Найти вид зависимости горизонтальной длины полета тела и максимальной высоты траектории от одного из коэффициентов сопротивления среды,...

Нахождение максимальной высоты от угла выстрела
Здравствуйте. Помогите пожалуйста, нужно найти максимальную высоту от угла броска. Есть программа которая находит максимальный дальность...

Вычисление времени полета тела
Написать программу для вычисления времени полета тела, брошенного под углом к горизонту. Начальная скорость тела равно V и направлена под...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru