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

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

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

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 >>
■5450  Re[9]: DataGridの合計値を取得したい
□投稿者/ じゃかるた -(2007/07/13(Fri) 13:03:46)
    No5449 (ぺっぱー さん) に返信
    > double Goukei = (2*4420*(1+0.05));
    > で実行後のGoukeiの値を見てください。それでも0.0?

    ひとことだけ
    なぜ「実行後」をわざわざつけているかを読んでください。
記事No.5441 のレス / END /過去ログ15より / 関連記事表示
削除チェック/

■6469  Re[1]: ajaxの動作が不安定?
□投稿者/ はつね -(2007/08/14(Tue) 22:59:02)
    No6466 (ひよこ さん) に返信
    > ASP.NETでAjaxを試してみようとインストールしてみました。
    > VS2005 C# .NET2.0で、AjaxにはASP.NET 2.0 AJAX Extensions 1.0を使っています。

    VC# 2005(当然、.NET Frameworkは2.0)ですね。

    > しかも新規プロジェクトでは問題なく、既存プロジェクトに加筆だとそうなるというのもわかりません。

    一度↓をみて、既存のものに適用する場合の手順に差異がないかをチェックしてみるのはどうでしょうか。
    http://www.microsoft.com/japan/seminar/msdn/webcast/bg/49.ajax.existingapps/play.aspx
記事No.6466 のレス /過去ログ17より / 関連記事表示
削除チェック/

■7722  Tcp/IP, UDP等のネットワークについて
□投稿者/ れれれ -(2007/09/13(Thu) 16:52:22)

    分類:[C#] 

    お世話になっていますれれれです。

    2個のPCをネットワーク接続でデータのやり取りを行おうと考えています。


    PC1⇔PC2

    のように互いのデータを送りあうというものを構築したいのですが
    TCP/IPのようにサーバ、クライアントの形式をとると
    両方のPCにサーバ、クライアントを用意しないとインタラクティブにデータをやり取りすることが出来ないのでしょうか?
    (UDPそのようなことがないので、簡単に書けるのですがデータ補償がないらしいのでTCP/IPでも出来ないかどうかと思いました)
親記事 /過去ログ19より / 関連記事表示
削除チェック/

■9942  偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/07(Wed) 20:28:52)

    分類:[C#] 

    下記のようなプログラムをつくりました。ボタンを押すと「99y99」と表示されます。
    本当はちがうものを作ろうと思っていたのですが偶然おかしなものができてしまいました。
    それで興味がわいて、なぜこのプログラムで上記のような「99y99」が表示されるのでしょうか?
    おしえてください。

    private void button1_Click(object sender, EventArgs e)
    {
    string x = "";
    for (int i = 0; i < 100; i++)
    {
    x += i ;

    if (i % 3 == 0)
    {
    x += x.Replace(" ", "y");
    }

    else if (i % 3 != 0)
    {
    x=" ";

    }

    textBox1.Text = x;
親記事 /過去ログ23より / 関連記事表示
削除チェック/

■9944  Re[1]: 偶然できたプログラムの解釈をお願い
□投稿者/ カンタービレ -(2007/11/07(Wed) 20:38:27)
    2007/11/07(Wed) 20:40:12 編集(投稿者)
    2007/11/07(Wed) 20:39:21 編集(投稿者)

    No9942 (ツインクル さん) に返信

    デバッガでステップ実行をお勧めしマス。

    特に、「x = " "」
    っていう今までループでx+=i とかx+=x.Replace(〜)で追加編集しているつもりで
    結果を空白1つに初期化してる様子を毎回見てみるといいデス。

    ちなみにxはString型でiはInt型ですので
    i.ToStringなり文字列に変換することもお勧めしマス。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9945  Re[2]: 偶然できたプログラムの解釈をお願い
□投稿者/ Ruku -(2007/11/07(Wed) 20:50:01)
    i == 98 ループ目と i == 99 ループ目以外の意味がありませんね…
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9946  Re[3]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/07(Wed) 21:06:01)
    No9945 (Ruku さん) に返信
    実を言うと、2ちゃんねるで下記のような問題があったのでおもしろそうなのでチャレンジしてみましたが、完成できず下記のようなプログラムができてしまう困惑している次第です・
    (Fizz-Buzz問題」と呼んでいる問題のクラス 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。となっていますが、3の倍数のときに
    数の代わりに「y」と表示させるようにしてみたつもりです)
     
    private void button1_Click(object sender, EventArgs e)
            {
                string x = "";
                for (int i = 0; i < 100; i++)
                {
                    x += i ; //数を100まで加算する
                    
                    if (i % 3 == 0)  //3で割り切れたならその数をyに置換する
                    {
                        x += x.Replace(" ", "y"); //文字の置換(のつもり)
                    }
    
                        else if (i % 3 != 0)
                        {
                            x=" ";
                            
                        }
    
                        textBox1.Text = x; //テキストボックスに結果を表示する
    
    
    
                        
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9948  Re[4]: 偶然できたプログラムの解釈をお願い
□投稿者/ Ruku -(2007/11/07(Wed) 21:11:14)
    FizzBuzz っぽいなぁとは思いましたが…
    敢えて答えは書きませんけど。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9970  Re[4]: 偶然できたプログラムの解釈をお願い
□投稿者/ とおりすがり -(2007/11/08(Thu) 10:43:20)
    No9946 (ツインクル さん) に返信
    そろそろ誰かつっこんだほうがいいんじゃないか?
    そうそう同じ脳みその構造の人はいないよって。
    あえてなのか?…ならしょうがない。w
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9950  Re[2]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/07(Wed) 21:44:40)
    No9944 (カンタービレ さん) に返信
    > デバッガでステップ実行をお勧めしマス。
    >
    > 特に、「x = " "」
    > っていう今までループでx+=i とかx+=x.Replace(〜)で追加編集しているつもりで
    > 結果を空白1つに初期化してる様子を毎回見てみるといいデス。

    レスありがとうございます。しかし、愚鈍な私の頭では今ひとつわかりかねます。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9952  Re[1]: 偶然できたプログラムの解釈をお願い
□投稿者/ επιστημη -(2007/11/07(Wed) 22:12:59)
>
    > なぜこのプログラムで上記のような「99y99」が表示されるのでしょうか?
    > おしえてください。

    コンソール・アプリに仕立て直し、for-loop回るたんびにConsole.WriteLine(x)すりゃわかると思う。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9962  Re[2]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/08(Thu) 07:26:17)
    No9952 (επιστημη さん) に返信
    > コンソール・アプリに仕立て直し、for-loop回るたんびにConsole.WriteLine(x)すりゃわかると思う。
     ありがとございます。
    ただ、コンソールアプリではできたのですが、IDEではどこの記述がおかしのでしょうか?
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                for (int x = 0; x <= 100; ++x) 
                {
                    if(x%3==0)
                    {
                        Console.Write(("F").ToString());
                    }
    
                        else if (x%5 == 0)
                                            {
                                                Console.Write(("p").ToString());
                        }
                        else if (x % 3 == 0 && x % 5 == 0)
                        {
                            Console.Write(("k").ToString());
                        }
    
    
                        else
                        {
    
                            Console.Write((x).ToString());
                        }
            }
        }
        }
    }
    
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9964  Re[3]: 偶然できたプログラムの解釈をお願い
□投稿者/ Mr.T -(2007/11/08(Thu) 09:08:12)
    Mr.Tです、こんにちは。

    No9962 (ツインクル さん) に返信
    > ■No9952 (επιστημη さん) に返信
    >>コンソール・アプリに仕立て直し、for-loop回るたんびにConsole.WriteLine(x)すりゃわかると思う。
    > ありがとございます。
    > ただ、コンソールアプリではできたのですが、IDEではどこの記述がおかしのでしょうか?

    ちょっと何をいいたいのかわかりません。
    #IDE?え、いやWindowsFormアプリケーションと言いたいのですか?
    コンソールアプリだろうが、WindowsFormアプリだろうが、アルゴリズム(考え方)は一緒です。
    #「っていうか、No9962とNo9942とぜんぜん違うんですが...

    このNo9962だと、
    else if (x % 3 == 0 && x % 5 == 0)
    が絶対に実行されません。

    おそらく、適用する条件の順番を問題文に書いてある通りに
    適用してしまうこと、それが誤ってしまう原因だと思います。

    問題文をプログラムに落とす前に、条件をきちんと簡単にまとめて
    みることをお勧めします。その上で、各条件の優先順位をつけ、
    その適用する順番でよいのかどうかを考えましょう。

    あとは、どうやって確かめたらいいのか、プログラムを作る前に
    きちんと考える。

    では、がんばってください。


記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9966  Re[4]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/08(Thu) 10:17:15)
    No9964 (Mr.T さん) に返信
    > このNo9962だと、
    >  else if (x % 3 == 0 && x % 5 == 0)
    > が絶対に実行されません。
    > では、がんばってください。
    
    ありがとうございます。
    下記のように書き直すと実行できました。
    
     static void Main(string[] args)
            {
                for (int x = 0; x <= 100; ++x) 
                {
                    if(x % 3 ==0  && x%5 != 0 )
                    {
                        Console.Write(("F").ToString());
                    }
    
                        else if (x % 5 == 0 && x % 3 != 0)
                                            {
                                                Console.Write(("p").ToString());
                        }
                        else  if (x % 3 == 0 && x % 5 == 0)
                        {
                            Console.Write(("k").ToString());
                        }
    
    
                        else
                        {
    
                            Console.Write((x).ToString());
                        }
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9967  Re[5]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/08(Thu) 10:27:33)
    No9966 (ツインクル さん) に返信
    > ■No9964 (Mr.T さん) に返信
    
    private void button1_Click(object sender, EventArgs e)
            {
                int x ;
                for (int i = 0; i < 100; i++ )
                {
                    x += i; //数を100まで加算する
    
                    if (x %3 == 0)  //3で割り切れたならその数をyに置換する
                    {
                        x = x.ToString().Replace(" ", "p");
    
                    }
    
                    else if (x%3 != 0)
                    {
                        continue;
    
                    }
    
                    textBox1.Text = x.ToString(); //テキストボックスに結果を表示する
    
    
    
                }
                }
    WINDOWSアプリのほうを上記のように記述すると、型変換(strig→int)が暗黙的にできませんとエラーがでます。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■9969  Re[6]: 偶然できたプログラムの解釈をお願い
□投稿者/ ぽぴ王子 -(2007/11/08(Thu) 10:38:53)
>
    No9966 (ツインクル さん) に返信

    > ありがとうございます。
    > 下記のように書き直すと実行できました。

    うーん、動けばそれでいいの?的なコードですね。
    それでも最初の詰まった状態からするとだいぶすっきりしてきてますが。

    参考にすべきは

    > このNo9962だと、
    > else if (x % 3 == 0 && x % 5 == 0)
    > が絶対に実行されません。

    はもちろんなのだけれど

    > おそらく、適用する条件の順番を問題文に書いてある通りに
    > 適用してしまうこと、それが誤ってしまう原因だと思います。
    >
    > 問題文をプログラムに落とす前に、条件をきちんと簡単にまとめて
    > みることをお勧めします。その上で、各条件の優先順位をつけ、
    > その適用する順番でよいのかどうかを考えましょう。
    >
    > あとは、どうやって確かめたらいいのか、プログラムを作る前に
    > きちんと考える。

    こっちですね。
    自分が何を目的として、何を書こうとしているのかをしっかりと
    把握した上で、それを実現するためにはどうすればいいかを考える
    ことが大事です(アルゴリズムを考える、ということです)。

    フローチャートってわかります?流れ図ってやつですけど。
    まずはそういうあたりから書いてみるといいですよ。
    僕も頭の中で考えて、オーバーフローしそうになったとき(意外と
    容量少なめなのですぐあふれます)は紙に書いて整理したりとか
    やったりします。
    ちゃんとした、四角だとか三角だとかの図形を使ったフローチャート
    でなくてもいいんです。「xが3で割り切れる?」とか書いて、Yes
    とNoの矢印をひっぱって、その先に処理を書いてみるとか、その程度
    でいいんです。そうやって頭の中の構造がスッキリすればおk。

    あと、FizzBuzz問題は有名なので、ちょっと探すと例題がたくさん
    出てきます。わんくまblogでもちょっとしたブームになっていたり
    するので、めんどくさいものから超ストレートなものまで、いろいろ
    探してみるとみつかると思います。ただ、それを見てできたつもり
    になるのではなく、自分で作ったプログラムと答え合わせをしてみる
    ような感じでやるのがいいんじゃないでしょうか。
    # ちなみに僕のオススメはひろえむさんのやつ。


    ところで
    > 実を言うと、2ちゃんねるで下記のような問題があったのでおもしろそうなのでチャレンジしてみましたが、完成できず下記のようなプログラムができてしまう困惑している次第です・
    これってどこのスレッドでの話でしょうか。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■10056  Re[7]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/10(Sat) 14:10:29)
    No9969 (ぽぴ王子 さん) に返信

    詳細なアドバイスありがとうございます。

    private void button1_Click(object sender, EventArgs e)
    //ボタンを押すと、0から99の数が表示されるが、そのうち3で割り切れる数だけkで表示される
    // GUIプログラムを作ったつもりです。
    {
    int m;
    int x;
    for (int i = 0; i < 100; i++)
    {

    x += i; //数を100まで加算する

    if (x % 3 == 0)
    {
    m = x; //3で割り切れる数をmに代入

    string s = (string)Convert.ChangeType(m, TypeCode.String); //整数mを文字列に変換
    textBox1.Text = s.Replace(" ", "k");  //文字列mをkに置換する

    textBox1.Text = x.ToString(); //テキストボックスに結果を表示する

    }
    }
       

    実行すると文字は0から99まで表示されますが下記のようなエラーがでて、3の倍数はkに変換されません。
    エラー 未割り当てのローカル変数 'x' が使用されました。

    ここ数日この問題が解けなくて頭がいっぱいです。どこがまちがえてるいるのでしょうか?厚かましいお願いですがヒントだけでもおしえてください。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■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より / 関連記事表示
削除チェック/

■10058  Re[9]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/10(Sat) 15:26:05)
    No10057 (やまだ さん) に返信
    たいへん明快な説明とアドバイス感謝します。また、がんばって取り組んでみたいと思っています。
    本当にありがとうございました。
記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

■10257  Re[9]: 偶然できたプログラムの解釈をお願い
□投稿者/ ツインクル -(2007/11/14(Wed) 20:32:04)
    No10057 (やまだ さん) に返信
    //ボタンを押すと、0から9の数が表示されるが、そのうち3で割り切れる数だけkで表示される
    // GUIプログラムを作りたいのです。でもできないのです。(>_<)

    ○ボタンを押すと、0から9の数が表示されるプログラムは何とかできました。
    private void button1_Click(object sender, EventArgs e)

    {

    string src=" " ;

    for (int i = 1; i < 10; i++)
    {
    src += i+":"; //数を9まで表示する

    }


    textBox1.Text = src;

    {
    この後、if文を使って
    if(i%3==0)

    {//この部分に「もし、表示された数字iを3で割ったときの余りが0になるときに、数字iを文字”k”に変換する、というコードを書けばよいのですよね。
    ここでよくわからないのですが、int型でなければ割り算はできませんよね。
    このプログラムでは、int型からstring型に変換する必要があるのでしょうか?

    意味不明かもしれませんが、よろしくお願いします。

記事No.9942 のレス /過去ログ23より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 >>

パスワード/

- Child Tree -