1

mikroC で rand() C++ 関数を実装するにはどうすればよいですか?

rand() を試しましたが、動作しません...これを解決する方法がわかりません

4

1 に答える 1

1

C の実装が C89 に準拠している場合は、作業用の を含める必要がrand()あります<stdlib.h>

randそうでない場合は、生成された数の非常に高品質を必要としない限り、独自の を作成するのは簡単です。これは、TETRIS の目的では必要ありません。この小さな実装は、アーキテクチャ間で疑似乱数の同じシーケンスを繰り返す必要があるプログラムのオプションとして、POSIX によって推奨されています。

static unsigned long next = 1;

/* RAND_MAX assumed to be 32767 */
int myrand(void) {
    next = next * 1103515245 + 12345;
    return((unsigned)(next/65536) % 32768);
}

void mysrand(unsigned seed) {
    next = seed;
}

それはあなたに大きな疑似ランダム性を与えるわけではありませんが、多くの実際の実装よりも悪くはありませんrand().

于 2013-03-05T09:09:16.303 に答える