あのあと、テキストのサンプルと見比べて反省会をした。
だいたい大丈夫かな?
ちなみにテキストでも最後は1回無駄に配列を表示してました(笑)。
ただ、自分で見直しても無駄な箇所があったので、やる気があるうちになおしておいた。
変更箇所
①フラグ用の変数をbool型にした。
真偽値用の変数ってこういう時に使うのね。
メリットは値を見れば一発でフラグ用の変数とわかること。(ソースが読みやすくなる。)
あと、メモリの確保がint型は32bitに対して、bool型は8bitなのでメモリの節約にもなるってとこかな。
②配列表示部分が2回あったのを1回で済むように書き換えた。
入れ替え前の最初の状態を表示するためだけに、入れ替えループの前にも配列を表示する部分があったので、ループ内の順序を変えて、表示部分を1回で済むようにした。
配列を表示
↓
入れ替え分岐
↓
入れ替えがあったかどうかの判定(フラグのチェック)
これにともなって、ループをwhileからdo-whileに変更。
最後に1回余分に表示される問題も、これで同時に解決!
上手くいくと、とても嬉しいわ。

ソースコードも、いくぶんスッキリしました。

最後の余計だった2重表示も解決!
だいたい大丈夫かな?
ちなみにテキストでも最後は1回無駄に配列を表示してました(笑)。
ただ、自分で見直しても無駄な箇所があったので、やる気があるうちになおしておいた。
変更箇所
①フラグ用の変数をbool型にした。
真偽値用の変数ってこういう時に使うのね。
メリットは値を見れば一発でフラグ用の変数とわかること。(ソースが読みやすくなる。)
あと、メモリの確保がint型は32bitに対して、bool型は8bitなのでメモリの節約にもなるってとこかな。
②配列表示部分が2回あったのを1回で済むように書き換えた。
入れ替え前の最初の状態を表示するためだけに、入れ替えループの前にも配列を表示する部分があったので、ループ内の順序を変えて、表示部分を1回で済むようにした。
配列を表示
↓
入れ替え分岐
↓
入れ替えがあったかどうかの判定(フラグのチェック)
これにともなって、ループをwhileからdo-whileに変更。
最後に1回余分に表示される問題も、これで同時に解決!
上手くいくと、とても嬉しいわ。
ソースコードも、いくぶんスッキリしました。
最後の余計だった2重表示も解決!
PR
テキストは『基礎の総まとめ』のページだ。
0~9まで10個の数字が適当に並んだ配列変数を、左から小さい順に並び替える。
配列の左側から、隣り合った2つの数字を順に比較して入れ替える。
この説明まで読んで、テキストを閉じた。
腕試しだ。
方法はわかってるんだから、あとはそれをどうソースコードで表現するかだ。
30分以上もかかってしまったけど、試行錯誤の末、なんとか並べ替えに成功!
おめでとう!おれ!

これが試行錯誤の末に出来たソースコードだ。
たったこれだけの文でも、コメント入れておかないとバグった時に訳わからなくなる。
あと見やすいソースを作るために、タブって大事だね。

はい、無事に並べ替えが完了しています。
最後に1回余計に表示してしまっているのはご愛嬌。
うーん、break使ってうまくループ抜ければ表示されなくなりそうだね。
なおしてみよう。
テキストのソースとも見比べてみなければ!
0~9まで10個の数字が適当に並んだ配列変数を、左から小さい順に並び替える。
配列の左側から、隣り合った2つの数字を順に比較して入れ替える。
この説明まで読んで、テキストを閉じた。
腕試しだ。
方法はわかってるんだから、あとはそれをどうソースコードで表現するかだ。
30分以上もかかってしまったけど、試行錯誤の末、なんとか並べ替えに成功!
おめでとう!おれ!
これが試行錯誤の末に出来たソースコードだ。
たったこれだけの文でも、コメント入れておかないとバグった時に訳わからなくなる。
あと見やすいソースを作るために、タブって大事だね。
はい、無事に並べ替えが完了しています。
最後に1回余計に表示してしまっているのはご愛嬌。
うーん、break使ってうまくループ抜ければ表示されなくなりそうだね。
なおしてみよう。
テキストのソースとも見比べてみなければ!
宣言した変数の有効範囲がスコープで区切られてるとか。
関数の概念とか。(これはBASICでもあったサブルーチンみたいな感じ?)
ルールがしっかり覚えられれば、ソースコードは何処が何やってるかわかりやすい。
とても論理的な文法だなって思った。
でも、これってある程度の規模のものを作るときは、きちんとした設計が必要な気がする。
まあ、そんなの何の言語でも一緒だろうけど。
でも、BASICの時はけっこう行き当たりばったりで、なんとかなってた。
変数足りなくなったら、適当なとこで足したり・・・。
簡単なゲームなら取り合えず作り始めちゃって、後から後から継ぎ足して行っても完成できてたと思うんだよね。
Cはそれが許されない予感が・・・。
ファジーな感じがあんま無い。
まだ慣れてないだけかもしれないけどさ。
関数の概念とか。(これはBASICでもあったサブルーチンみたいな感じ?)
ルールがしっかり覚えられれば、ソースコードは何処が何やってるかわかりやすい。
とても論理的な文法だなって思った。
でも、これってある程度の規模のものを作るときは、きちんとした設計が必要な気がする。
まあ、そんなの何の言語でも一緒だろうけど。
でも、BASICの時はけっこう行き当たりばったりで、なんとかなってた。
変数足りなくなったら、適当なとこで足したり・・・。
簡単なゲームなら取り合えず作り始めちゃって、後から後から継ぎ足して行っても完成できてたと思うんだよね。
Cはそれが許されない予感が・・・。
ファジーな感じがあんま無い。
まだ慣れてないだけかもしれないけどさ。
- ABOUT
やってやれないことはないっ!たぶん・・・
- カレンダー
06 | 2025/07 | 08 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
- プロフィール
HN:
Call my name
年齢:
51
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
はい。
- ブログ内検索
- カウンター
- アクセス解析