重複の可能性:
Cでの最大配列サイズ
私の質問は次のとおりです。Code::blocksにはループの最大反復回数がありますか?
私はモンテカルロを実行していますが、forループを介して100万個のパーティクルを実行したいと思います。しかし、クラッシュせずに行くように見える最大値は110000です。
ありがとう!
いくつかの詳細:
時間によってシードされた乱数ジェネレーターを使用しています:
srand(time(NULL));
次に、100万個のパーティクルを作成します(ランダム)
for(k=0; k<M; k++){
R[k] = rand()*(1)/(double)RAND_MAX;
z[k] = -log(1 - R[k])/(1000*U);
ここで、M = Num / 10(N 1000000を#defineしたい)
これは私が考えることができる唯一のことであり、問題を引き起こしていますか?
これは機能しないサンプルコードです。
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
int main(){
srand(time(NULL));
int j=0;
int i;
double A[1000000];
for(i=0;i<1000000;i++){
A[i] = rand()*(1.0)/(double)RAND_MAX;
if (A[i] == 1.0){
printf("Wow!\n");
}
}
return 0;
}
これは、Code ::blocksの設定が原因である可能性がありますか?