• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルソートの問題)

シェルソートの問題

このQ&Aのポイント
  • シェルソートの問題について解説します。
  • シェルソートは、いきなり結果を出さずにソートさせたい数字を入力できるようにするアルゴリズムです。
  • また、ソート中の途中経過も表示することができます。

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

  • ベストアンサー
  • hisappy
  • ベストアンサー率46% (184/392)
回答No.1

変数名のつけ方や、コメント文のつけ方、 Webでの表示なのでインデントはしょうがないとしても記述の作法などなど 突っ込みだしたらきりが無いですが、 修正、調整、追加などすべき部分を挙げていきたいと思います。 なお指摘事項は、質問文に記載されているコーディングの 「#include <stdio.h>」を1行目として数え始め、 最後付近の「return 0;」が38行目となっている状態のままでの 行数で数え、追加する場面ではその追加開始位置の行数で答えていきます。 [入力できるようにする件] 10行目:「入力処理」の追加・・・のみ・・・でしょうか。   入力する要素数が、現在の8個固定なら   単純にscanfなりをfor文で回せばよいでしょう。   その際の変数まで考慮するなら9行目にも追加が入りますね。   入力される内容が数字であるか否かとか、   数字であっても桁数はどこまでかなど   入力時の「御約束事」次第で追加されるコーディング量は   かなり変動します。   要素数を可変にするところまで対応するとなると   3行目、7行目、(10)、11、16、32、34行目あたりまで   修正が必要となってくることでしょう。 [途中経過表示の件] 31行目から始まるfor文句を、 表示させたいタイミング(「交換毎」とか「交換間隔毎」とか)に合わせて 16行目のfor文や19行目のwhile文の上なり下なりに移植すれば良いでしょう。 単純に移植すると、いわゆる「拒絶反応」を起こすのが明らかですが、 それが分かるかどうかも期待通りの動きをさせるための課題になるでしょう。

tokino419
質問者

お礼

大変参考になりました。プログラムもうまくいきました。 どうもありがとうございました!

関連するQ&A