実現したいこと
c言語で以下のソースコードを書いていた時に、16行目の配列x[],y[]にそれぞれ配列の要素数としてscanfで入力したnを入れようとしたとき未知数であるためコンパイルできないというエラーが出ました。この問題を解決することはできないのでしょうか?
また、、16行目の配列x[],y[]にそれぞれ配列の要素数として以下のように定量的な値として、1000000と入れたらプログラムが動かないという問題が発生しました。10000としたときは動いたため、データ型等に問題があるのかと考えましたが、計算途中でもdoubleの範囲を満たしているように見えるため、なぜ動かないかわかりません。
この問題の原因も教えてもらえると嬉しいです。
該当のソースコード
ソースコード #include <stdio.h> int main(void) { int n,i,j,sou,kukaku; i= 0; j= 0; double m; printf("Please input a positive integer.\nn = "); scanf("%d",&n); while(0 < n) { sou=n*n; kukaku=0; double x[20000],y[20000]; while(i < n) { x[i]=(((1.0/n)*i)+((1.0/n)/2)); while(j < n) { y[j]=(((1.0/n)*j)+((1.0/n)/2)); if(((x[i]*x[i]) +(y[j]*y[j])) <= 1) { kukaku++; } j++; } j=0; i++; } printf("総分割数=%d\n",sou); printf("求める区画数=%d\n",kukaku); printf("pi = %.4lf\n",kukaku*4.0/sou); printf("Please input a positive integer.\nn = "); scanf("%d",&n); i=0; j=0; } return 0; } ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。