点Aと点Bからタワーを眺めた時、その時の仰角は25度と30度、AB間の距離dが50メートルであった。
タワーの高さを求めるプログラムを作りたいです。
どのように書いたらうまくできますか?
回答お願いします!
#include <stdio.h> #include <stdlib.h> #include <math.h> #define TORAD(x) (x*M_PI)/180.0 //角度を孤度(ラジアン)に変換 double sin(double x) { for(x = 1; x < 50; x++){ } } int main(void) { double y0, y1, x; double a0, a1, b1; double d = 50.0; double rad0, rad1; int yy0, yy1; //算出されたy0とy1を設定した桁数で比較するため rad0 = TORAD(25);//傾き25度をラジアンに変換 rad1 = TORAD(30); a0 = sin(rad0); //rad0 をsin関数に渡す a1 = sin(rad1); x = d; do{ y0 = a0 * x; //点Aを通る直線の式 y1 = a1 * x - 25; //点Bを通る直線の式 yy0 = (int) (1000 * y0 + 0.5); //小数点以下3桁目まで確認,小数点以下4桁を四捨五入 yy1 = (int) x += 1.0e-4; //0.0001(指数表現) m を xの値に加える }while( yy0 >= yy1 ); printf("タワーの高さは %5.3f mです.\n", y0); return 0; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。