本日のプログラミング放送
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

本日のプログラミング放送

2014-05-29 23:23
    本日よりブログの方を始めさせていただきます。よろしくお願いします。まず、本日はC++言語乱数について学習しました。演習問題のソースコードを載せておきます。
    参考にしているサイトはこちら→(乱数) http://vivi.dyndns.org/tech/cpp/random.html

    //1.rand() % 10000 により [0, 10000) の乱数を100万回発生させ、
    // 0, 1, 2, 9997, 9998, 9999 が出る回数をカウントし、表示しなさい。
    #include<iostream>
    #include<ctime>
    #include<cstdlib>
    using namespace std;
    int main(){
    int cnt = 0;
    int cnt_m = 0;
    srand(time(NULL));//乱数の初期化
    //int x[10000];

    for(int i = 0;i < 1000000;i++){//100万回ループ
    //x[i] = rand() % 10000;
    int r = rand() % 10000;//10000個の乱数をrに格納
    if(r >= 0 && r <= 2){
    cnt++;
    }
    if(r >= 9997 && r <= 9999){
    cnt_m++;
    }
    }
    cout << "0から2の回数:" << cnt << '\n';
    cout << "9997から9999の回数" << cnt_m << '\n';

    getchar();
    return 0;
    }

    今回理解できたこと:この乱数を使用すると、4:3の比率で0から2の乱数が発生しやすい結果となった。cntは120回程度、cnt_mは90回程度となった。
    スネークゲームの演習問題①
    参考にしているサイトはこちら→http://vivi.dyndns.org/tech/games/snake.html

    //演習①蛇の胴体色を青と黄色交互にしなさい。
    // スネークの頭、胴体部分を表示
    void print_snake(const deque<CurPos> &snake)
    {
    // 胴体部分を描画
    //setColor(COL_BLUE); //演習①コメントアウト
    for (uint i = 1; i < snake.size(); ++i) {
    if(i % 2 == 0){//2で割った余りが0ならば黄色を表示 演習①
    setColor(COL_YELLOW);
    }else if(i % 2 == 1){//2で割った余りが0ならば青を表示 演習①
    setColor(COL_BLUE);
    }
    setCursorPos(snake[i].first, snake[i].second);
    cout << "*";

    }
    // 重なった場合にも頭部を描画するために、最後に頭部を描画
    setColor(COL_VIOLET);
    setCursorPos(snake[0].first, snake[0].second);
    cout << "@"; // 頭部
    }

    リスナーさんより放送に関する指摘事項:主は文章を全部読まないから理解できない。
    >できる限り改善に努力します。

    次回の課題:スネークゲームのソースコード演習②以降未
          
          手を動かしてさくさく理解する C++ 乱数 入門の続きです。

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。