2

私は初心者プログラマーですので、ご相談ください。私はデータを分析するプログラムを書いています。プログラムを実行すると、「浮動小数点例外」が発生しますが、その理由がわかりません。これは、エラーの原因となっているコードのセクションです。私の知る限り、そのif発言が問題のようですが、その理由はわかりません。あなたが与えることができるどんな助けも大歓迎です!

double tArray[600][49];

void main() {
  double finalArray[600][0]
  double n = 0;
  int h = 0;
  try {
    for (int i = 0; i < 600; j++) {
      for (int j = 1; j < 16; j++) {
        h++;
        n = tArray[i][j * 3 - 1] - tArray[i][j * 3 - 2];
        double t = -30;
        if (n < t) {
          finalArray[i][0] = tArray[h][3 * j] - tArray[h + t][3 * j];
          h++;
        }
      }
    }
  }
}
4

2 に答える 2

1

finalArray を次のように宣言してみてください。

double finalArray[600][1];

元の宣言では要素にスペースが割り当てられていないようです。

そうでない場合は、次のように 1 次元配列のみを割り当ててみてください。

double finalArray[600];

お役に立てれば!

于 2012-10-14T01:18:05.050 に答える
1

宣言double finalArray[600][0]は、配列が 0 要素 x 600 要素であることを意味します。2 番目の次元を 1 にしたいと思います。行と列の数を宣言する必要がありますが、インデックスは 0 から始まることを覚えておいてください。

于 2012-10-14T01:19:09.050 に答える