- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
483 :デフォルトの名無しさん[]:2015/06/29(月) 20:36:06.22 ID:w6B9cFRx - http://codepad.org/
a[0] = 2; a[1] = 8; a[2] = 3; a[3] = 9; a[4] = 6; a[5] = 1; a[6] = 7; a[7] = 4; a[8] = 5; 1 2 3 4 5 5 4 5 5 何でですか… なんでだぶってるんでしょうか? http://www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html これは一つのtemp配列を使ってるだけで 自分はx[]とy[]にわけただけです。 何故同じ数がだぶってるんでしょうか?
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
484 :483[]:2015/06/29(月) 20:37:37.98 ID:w6B9cFRx - http://codepad.org/cyf6OZnh
お願いします。このコードを少し書き換えるだけで修正してください。 今まで間違えると全て書き直ししてたのが悪かったです。 全てリセットして書き直すとほんの少しの差異を見逃して感性が荒くなると思うので…
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
485 :483[]:2015/06/29(月) 20:42:00.01 ID:w6B9cFRx - 抑えてる点
@ちゃんとl>=rのときreturnしている Ax[]とy[]を比較して、小さいものからa[]につめている。 念のため、x[]とy[]が−じゃないときも考慮してる。 でも例えばxが0〜3、yが0〜2までのとき、ちゃんと lは5までの範囲になるので、xのindexが4,yのindexが3になることは ありえない http://www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html とほとんど同じプログラムを書いたつもり それなのに何故間違ってる… まじで頭がおかしくなりそうです…
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
486 :483[]:2015/06/29(月) 20:44:26.91 ID:w6B9cFRx - lからcまでがa[]の左半分
c+1からrまでがa[]の右半分に 入ってるから それをx[] y[]に退避させて a[]に入れなおしてるだけ それなのに何故おかしな結果になるんでしょう? x[],y[]のindexも増減も間違いない、お互い0から始まって どちらかがa[]に詰められたら詰めた方のx(y)のindexを増やす a[]のindexはlからrまで 何故? 何故? ここまで抑えてるのにエラーが出る理由が分からなくて死にたいです
|