- 42 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 16:42:36 ]
- 以下のプログラムを書いたんですが
データ数が多いせいかSystem.StackOverflowException'のハンドルされていない例外 となってしまいます。 解決方法を教えてください。 お願いします。 /*畳み込み和を求めるプログラム*/ #include <stdio.h> #define FMAX 1000000 /*関数f(τ)のデータ数 「100万個」 */ #define GMAX 1000000 main() { int f[FMAX]; /*関数f(τ)*/ int g[GMAX]; /*関数g(τ)*/ int sum[FMAX+GMAX-1] = {0}; /*畳み込みの結果を入れる変数*/ int i,t; /*関数f,gの初期値の代入(全て1)*/ for (i=0;i<FMAX;i++ ) f[i]=1; for (i=0;i<GMAX;i++ ) g[i]=1; /*畳み込み和の計算*/ for (t=0; t< FMAX+GMAX-1; t++){ for( i=0 ; i<GMAX; i++){ if ( t-i >= 0 && t-i < FMAX) sum[t] += f[t-i]*g[i]; } } /*計算結果の表示*/ for (t=0 ; t<FMAX+GMAX-1; t++) printf("%d,",sum[t]); }
|

|