- ベストアンサー
Visial C++おけるπの使い方
自宅でCプログラミングの練習をするためVisial C++ 2008を使って プログラムをしています。y<sin(πx)となった時の 割合などを計算するプログラムで 「M_PIが定義されていない識別子です」 とでてきます。所持している本を参考にしてもM_PI=πとして用いる と書いてあり、math.hもインクルードしてるので原因が分からなくて 困ってます。Visial c++ではπの使い方には何か別の使い方がある のでしょうか?よろしくお願いします。 *↓が実際に作ったプログラムです。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> int main(void){ int i,n,count=0; double x,y,r,error; srand((unsigned)time(NULL)); /*乱数の初期化*/ printf("How many trials?"); scanf("&d",&n); for(i=0;i<n;i++){ x=rand()/(RAND_MAX+1.0); y=rand()/(RAND_MAX+1.0); if(y<sin(M_PI*x)){ count++; } } r=(double)count/n; /*キャスト演算子を使用*/ error=2/M_PI-r; printf("Result is %f (Error: %f)\n",r,error); return 0; }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
★アドバイス ・math.hをインクルードする前に『_USE_MATH_DEFINES』定数を define します。 #define _USE_MATH_DEFINES #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> int main( void ) { : return 0; } 必ず include する前に定義して下さい。
その他の回答 (1)
- Werner
- ベストアンサー率53% (395/735)
_USE_MATH_DEFINESをmath.hをインクルードする前に定義してください。 数値演算定数 - MSDN http://msdn.microsoft.com/ja-jp/library/4hwaceh6.aspx
お礼
アドバイスありがとうございます。ページを見ると CとC++とでもまた扱いが異なるんですね。。。 参考になりました、ありがとうございます。
お礼
アドバイスありがとうございます、早速やってみたところ 動きました。こんなにはやく回答を頂けるとは・・・・ ありがとうございました。m(__)m