C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.10057 の関連記事表示

<< 0 >>
■10057  Re[8]: 偶然できたプログラムの解釈をお願い
□投稿者/ やまだ -(2007/11/10(Sat) 15:08:43)
    えーと、まずコードについてなのですが。

    > x += i; //数を100まで加算する
    とありますが、そもそも x の値が初期化されていませんよ。
    エラーの直接の原因はこれでしょうかね。

    でも、そこを直したからと言って、期待通りの結果にはならないと思います。
    ぽぴ王子も指摘されていますが、
    > 自分が何を目的として、何を書こうとしているのかをしっかりと
    > 把握した上で、それを実現するためにはどうすればいいかを考える
    > ことが大事です(アルゴリズムを考える、ということです)。

    前回と比べて、if 文の中が複雑になっていますが、まず考えるべきところはそこではないと思います。
    コードを書くテクニックの話ではなく、何をつくろうとしているかをもう一度整理した方がよいかと。

    たとえば、変数として、m,i,x の3つが使われていますが、これらの意味と使い分けはなんですか?
    かえって複雑になっていませんか?
    #わたしもついこの間このプログラムを書いてみましたが、変数は1つで十分だと思いますよ。

    i は 0 から 99 までループごとに増えていきますよね?では、それを都度 x に加算するとどういう値になると思われますか?

    「数字を文字列に変換して、さらにその文字列を置換する」ということをされようとしておられますが、3の倍数のときだけ "k" という文字列を設定すればよいだけではないのでしょうか?

    変数mの「何」を"k"に置き換えられようとしているのでしょうか?

    あと、TextBox1.Text への代入を複数回すると、最初の代入は上書きされますよね?最初の方の代入には意味がなくなりますよ。

    失礼かもしれませんが、コードを書いてみて、動かなかったら一部直して、それでも動かなかったからさらに直して、という形で自分の書いたコードに振り回されている印象を受けます。
    落ち着いて、自分がやろうとしていること、その手順をフローチャートなりメモにまとめてみて、それとコードをつきあわせてみてはどうでしょうか?
    それでもわからなかったら、FizzBuzz のキーワードで解答例がいっぱい見つかると思いますので、それと自分のコードをつきあわせて何が違っているのかを見てみるとよいかもしれません。

    #あ、この辺はぽぴ王子も言われてますね。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -