トップページ > プログラム > 2015年06月28日 > 6vwCSsHC

書き込み順位&時間帯一覧

46 位/197 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010102



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
436 :デフォルトの名無しさん[sage]:2015/06/28(日) 20:33:48.76 ID:6vwCSsHC
>>428
ああ、こういうコードだったのね。元のコードは 503 が返ってくるからもやもやしてた。
これってこんな問題?

・41, 42 行で再帰呼び出しでソートしてるのに 49, 52 行でコピーしてるのはソート前の配列の値
・57 行で比較してる配列のインデクスが、58, 60 行でインクリメントした結果、有効なデータより後の要素を示すようになる
 ※最初の呼び出しの m 関数の場合、x と y にはそれぞれ a 配列の 0-4, 5-8 番目の要素が入っているけど、
  仮に 0-4 番目にすべて 5-8 番目の要素の値よりも小さな値が入っていれば 6 回目の比較で
  C では初期化されていない、C# の場合は 0 が入っている要素と比較してしまうため正しい結果が出ない

自分は関係ないけどちょっとすっきりした。
C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
443 :デフォルトの名無しさん[sage]:2015/06/28(日) 22:57:58.71 ID:6vwCSsHC
てゆーか、x と y の有効なデータ数を覚えておいてそれ以降は比較なしにもう片方のをコピーすればいいやん。

そしてそれ以前にデータをグローバルな変数に入れて使い回すなよ。
再帰はそれでなくても追うのが面倒なのにこんなバグの度に余計に疲れるやろ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。