繰り返し条件に
n:1, 10, 1
変数名: 初期値, 終値, 増分
の条件を持つループをカウント型のループと言います。
カウント型のループはC++ではfor文を使うとうまく書けることが多いです。
for(カウント変数 = 初期値, 継続条件, 変数の更新式) { //繰り返す処理 }
#include <iostream> using std::cout; using std::cin; using std::endl; //変数nを読み込む(1~9の整数) //九々のnの段を表示する int main() { int n; cout << "何の段を表示しますか? : "; cin >> n; //ここで入力したnの段を表示する for (int i = 1; i <= 9; i++) //(カウンタ変数=初期値, 継続条件, 増分) { //<---+ cout << n << "×" << i << "=" << n * i << endl; // | //n×1 = 〇 のフォーマットで表示 // +--繰り返すブロック // | nの段をカウンタを } //<---+ 使って計算して表示 return 0; }
#include <iostream> using std::cout; using std::cin; using std::end; int main() { for (int i = 1; i <= 100; i++) { if (i % 3 != 0) { cout << i << ", "; } else { cout << "アホ" << ", "; } } return 0; }
すごろく
int goal_dist = 10;
盤面の構成
S_ _ _ _ _ _ _ _ _ _G
1 2 3 4 5 6 7 8 9 10コマ
Oが自分の駒(スタート状態)
SO _ _ _ _ _ _ _ _ _G
3コマ目に自分がいる
S_ _ O _ _ _ _ _ _ _G
ゴールした状態
S_ _ _ _ _ _ _ _ _ OG
⓪初期盤面表示
①サイコロ振る(賽の目表示)
rand() % 6 + 1
②盤面表示(自駒を進める)
③ゴールしたか?
(goal_distを自分の駒が過ぎたか?)
YES:おめでとうの表示
NO:2に戻る
さいころは以下のように作ることができそう。
//乱数の初期化(1回だけやる) srand((unsigned int)time(nullptr)); int saikoro; //1~6の乱数を作ってsaikoroに代入 saikoro = rand() % 6 + 1;
さいころを10回振るサンプルソースコード
#include <iostream> using std::cout; using std::cin; using std::endl; int main() { //const つけると定数になります。定数は変えられない数 const int goal_dist = 10; //乱数の初期化(1回だけやる) srand((unsigned int)time(nullptr)); //さいころを10回振る繰り返し for (int i = 0; i < 10; i++) { cout << rand() % 6 + 1 << endl; } return 0; }