実現したいこと
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件
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。