• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 遺伝的アルゴリズムでのエラーについて)

C言語遺伝的アルゴリズムでのエラーについて

このQ&Aのポイント
  • C言語の遺伝的アルゴリズムでプログラムを実行した際に、segmentation faultエラーが表示される問題が発生しています。
  • エラーが発生する原因を特定することができず、どの部分で問題が起こっているのかわかりません。
  • 解決方法を教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

segumentation faultはデバッガーを使ったら大抵一瞬で原因がわかります。 コンパイラーのデバッグ情報付きオプション付きでコンパイルして、デバッガーで動かしましょう。 例えば、 % gcc -g ga.c % gdb a.out > run のような感じで。 ちなみに、下記のargv[i+1]が確保されているところを超えてアクセスしてますね。 for(i=0 ; i<Number_of_gene ; i++){ real_Number[i] = atof(argv[i+1]); } 例えばこうしませんか? for(i = 0; i < Number_of_gene; i++){ real_Number[i] = atof(argv[i+1]); }

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

for(p=0 ; p<Number_of_ch ; p++){ for(q=1 ; q<Number_of_ch-p+1 ; q++){ ここでqの最大値はいくつでしょう? rand()/32767 これ、どんな乱数になることを期待していますか? おそらく期待通りになっていないと思います。 abc = (Number_of_gene-1) * (rand()/32767); これも、期待通りになっていないでしょう。

関連するQ&A