Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
15 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 33
1

Определить расстояние до горизонта от точки с заданной высотой

03.10.2015, 08:17. Показов 1239. Ответов 9
Метки нет (Все метки)

Помогите решить задачу.Считая, что Земля – это идеальная сфера с радиусом R = 6350 км, определить расстояние до горизонта от точки с высотой над Землей, равной 1, 2, …, 10 км.
Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2015, 08:17
Ответы с готовыми решениями:

определить расстояние до линии горизонта от точки с заданной высотой над Землей.
Считая, что Земля - идеальная сфера с радиусом В = 6350 км, определить расстояние до линии...

Определить расстояние до линии горизонта от точки с заданной высотой над Землей
Считая, что Земля — идеальная сфера с радиусом R = 6350 км. определить расстояние до линии...

Определить расстояние до линии горизонта от точки с высотой над Землей ...
Решить задачу в приложении Windows Forms: Считая, что Земля — идеальная сфера с радиусом R ~ 6350...

определить расстояния до линнии горизонта от точки с высотой над землей
Считая что земля идеальная сфера с радиусовм R=6350 км.определить расстояния до линнии горизонта от...

9
33 / 33 / 36
Регистрация: 22.05.2015
Сообщений: 146
03.10.2015, 09:16 2
Вам именно код нужен? Или формулы хватит?
0
15 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 33
03.10.2015, 09:21  [ТС] 3
Лучше бы код, по формуле пробовал сделать не получается.
0
33 / 33 / 36
Регистрация: 22.05.2015
Сообщений: 146
03.10.2015, 09:30 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <math.h>
 
int main()
{
    int R = 6367250;
    for(int i = 1000; i <= 10000; i += 1000)
    {
        std::cout << sqrt(pow(R+i, 2) - pow(R, 2)) / 1000 << std::endl;
    }
    return 0;
}
Добавлено через 36 секунд
Или облагородить?
0
Комп_Оратор)
Эксперт по математике/физике
8724 / 4455 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
03.10.2015, 09:49 5
можно ещё:
C++
1
cout<<(2*R*i*(1+I));
0
Модератор
Эксперт С++
11482 / 9400 / 5649
Регистрация: 18.12.2011
Сообщений: 25,113
03.10.2015, 09:56 6
awalio,
Цитата Сообщение от awalio Посмотреть сообщение
pow(R+i, 2)
error C2668: pow: неоднозначный вызов перегруженной функции
Функции pow(int,int) нет. есть pow(double,int) и pow(double,double)
В целом, не пользуйтесь целочисленными вычислениями там, где предполагаются действительные числа.

Добавлено через 4 минуты
IGPIGP, Откуда такая формула. Если сократить R2, то получится
C++
1
sqrt(i*(2.*R+i))
Да и по размерности Ваша формула не проходит, получается метр в кубе.
2
Комп_Оратор)
Эксперт по математике/физике
8724 / 4455 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
03.10.2015, 10:59 7
Цитата Сообщение от zss Посмотреть сообщение
Откуда такая формула
Из сочетания пальцев, глаз и времени)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <Cmath>
using namespace std;
int main() {
int d0=1, dk=10, R=6350;
double iSqr;
for(int i=d0; i<=dk; i++)
{
iSqr=i*(2*R+i);
cout<<sqrt(iSqr)<<endl;
}
cout<<endl;
system("pause");
return 0;
}
что-то такое имел ввиду.
0
33 / 33 / 36
Регистрация: 22.05.2015
Сообщений: 146
03.10.2015, 11:04 8
zss, так правильнее?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <math.h>
 
int main()
{
    double R = 6367250.0;
    for(double i = 1000.0; i <= 10000.0; i += 1000.0)
    {
        std::cout << sqrt(pow(R+i, 2) - pow(R, 2)) / 1000 << std::endl;
    }
    return 0;
}
Я в QtCreator'е пишу, компилятор GCC и он не ругается, когда я всё в int'ах задаю.
0
Комп_Оратор)
Эксперт по математике/физике
8724 / 4455 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
03.10.2015, 11:18 9
awalio, постарайтесь представить стоимость одного преобразования. Кроме того стоимость операции умножения рациональных чисел двойной точности и целых тоже не сравнить. Подумайте как минимизировать потери времени.)
1
15 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 33
03.10.2015, 20:10  [ТС] 10
Всем огромное спасибо за помощь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2015, 20:10

Определить расстояние до линии горизонта от точки
Считая, что Земля — идеальная сфера с радиусом R 6350 км, определить расстояние до линии горизонта...

Считая, что Земля – идеальная сфера с радиусом r=6350км, определить расстояние до линии горизонта от точки
Считая, что Земля – идеальная сфера с радиусом r=6350км, определить расстояние до линии горизонта...

Определить кратчайшее расстояние от заданной точки до границы заданной фигуры
Определить кратчайшее расстояние от заданной точки до границы заданной фигуры, если точка находится...

Определить кратчайшее расстояние от заданной точки до границы заданной фигуры, считая, что точка находится вне
Определить кратчайшее расстояние от заданной точки до границы заданной фигуры, считая, что точка...

Вычислить расстояние до линии горизонта от точки, расположенной на высоте h над поверхностью Земли (ООП)
Написать программу, вычисляющую расстояние до линии горизонта от точки, расположенной на высоте h...

Определить расстояние до линии горизонта
Считая, что Земля – идеальная сфера с радиусом R≈6350 км, определить расстояние до линии горизонта...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru