異なる数字を配列に格納【C言語】

異なる数字を配列に格納

void make4digits(int x[]) {
  int i, j, val;

  for (i = 0; i < 4; i++) {
    do {
      val = rand() % 10;

      for (j = 0; j < i; j++) {
        if (val == x[j]) {
          break;
        }
      }
    } while (j < i);
    x[i] = val;
  }
}

生成した乱数が格納されている数字と等しければbreakし、jはiよりも小さな数字になるので再度乱数が生成される。

 

変数を使わない場合↓

void make4digits(int x[]) {
  int i, j, val;

  for (i = 0; i < 4; i++) {
    do {
      x[i] = rand() % 10;

      for (j = 0; j < i; j++) {
        if ( x[i] == x[j]) {
          break;
        }
      }
    } while (j < i);
  }
}

 

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *