目次
rand() とは何ですか?
int rand();
ログイン後にコピー
" >構文# のように使用できます。 ##
int rand();
ログイン後にコピー
int srand(unsigned int seed);
ログイン後にコピー
" >
int srand(unsigned int seed);
ログイン後にコピー
ホームページ バックエンド開発 C++ C/C++ では、 rand() と srand() は次のように変換されます。

C/C++ では、 rand() と srand() は次のように変換されます。

Sep 05, 2023 pm 03:25 PM
c/c++ rand srand

C/C++ では、 rand() と srand() は次のように変換されます。

この記事では、C STL の rand() 関数と srand() 関数の動作原理、構文、例について説明します。

rand() とは何ですか?

rand() 関数は C STL の組み込み関数であり、 ヘッダー ファイルで定義されています。 rand() は、一連の乱数を生成するために使用されます。コード内で乱数を生成したい場合にこの関数を使用できます。

C で ludo ゲームを作成するときと同じように、rand() を使用して乱数を生成できるように、1 から 6 までの任意の乱数を生成する必要があります。

乱数は、無関係な一連の値を与えるアルゴリズムを使用して生成されます。 この関数が呼び出されるたびに数値が生成されます。

1 ~ 6 の乱数を生成したいのと同じように、この関数は -

Num = rand() % 6 1;

構文# のように使用できます。 ##
int rand();
ログイン後にコピー

パラメータ

この関数はパラメータを受け入れません -

戻り値

この関数は 0 から RAND_MAX までの整数値を返します。

入力

rand() % 100 +1;
ログイン後にコピー

出力

57
ログイン後にコピー

rand()

ライブデモ

#include <stdio.h>
#include <stdlib.h&g;
int main(void){
   printf("Randomly generated numbers are: ");
   for(int i = 0; i<5; i++)
      printf(" %d ", rand());
   return 0;
}
ログイン後にコピー

出力

このコードを初めて実行すると、出力は -

Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915
1957747793
ログイン後にコピー
ログイン後にコピー

になります。 N 回目の出力は -

Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915
1957747793
ログイン後にコピー
ログイン後にコピー

srand() とは何ですか?

srand() 関数は C STL の組み込み関数であり、

ヘッダー ファイルで定義されています。 srand() は、乱数発生器を初期化するために使用されます。この関数は、一連の擬似乱数整数を生成するための開始点を提供します。このパラメータは、擬似乱数を生成するためのシードとして渡されます。疑似数値ジェネレーターは、srand で異なるシード値が使用されるたびに、rand() と同じ異なる一連の結果を生成できます。

構文

int srand(unsigned int seed);
ログイン後にコピー

パラメータ

関数は次のパラメータを受け入れます -

  • Seed - これはpseudo 乱数生成器のシードとして使用される整数。

戻り値

この関数は、擬似的に生成された乱数を返します。

入力

srand(time(0));
rand();
ログイン後にコピー

出力

1804289383
ログイン後にコピー

srand()

ライブデモ

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main(void){
   srand(time(0));
   printf("Randomly generated numbers are: ");
   for(int i = 0; i<5; i++)
      printf(" %d ", rand());
   return 0;
}
ログイン後にコピー

出力

このコードを初めて実行すると、出力は -

Randomly generated numbers are: 382366186 1045528146 1291469435 515349891
931606430
ログイン後にコピー

になります。 2 回目の場合、出力は -

Randomly generated numbers are: 1410939666 214525217 875042802
1560673843 782892338
ログイン後にコピー
になります。

以上がC/C++ では、 rand() と srand() は次のように変換されます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golangの「unknown: rand.Seed」エラーを解決するにはどうすればよいですか? golangの「unknown: rand.Seed」エラーを解決するにはどうすればよいですか? Jun 25, 2023 am 08:34 AM

Golang を使用する開発または学習のプロセス中に、unknown:rand.Seed というエラー メッセージが表示されることがあります。 Golang では、 rand パッケージの関数を使用する前に乱数シードを設定する必要があるため、このエラーは通常、乱数ジェネレーターを使用する必要がある場合に発生します。この記事では、このエラーを解決する方法について説明します。 1. math/rand パッケージを導入する まず、math/rand パッケージをコードに導入する必要があります。存在する

phpとc#の違いは何ですか phpとc#の違いは何ですか Jun 02, 2023 pm 01:45 PM

php と c# の違いは次のとおりです: 1. 言語の型システムが異なります。PHP は動的型ですが、C# は静的型です。 2. 使用されるプラットフォームが異なります。PHP はクロスプラットフォームを実現できますが、C# は Windows 専用です。 3. . プログラミングのパラダイムが異なり、PHP はオブジェクト指向、手続き型、関数型プログラミングをサポートし、C# はオブジェクト指向プログラミングに傾いている; 4. 実行速度が異なり、PHP の方が高速で、C# は比較的遅い; 5.アプリケーションのシナリオは異なります。PHP は Web 開発、サーバーなどに使用されます。C# は Windows デスクトップおよび Web アプリケーションに使用されます。

Clang ツールを使用して C/C++ コード整形ツールを作成する Clang ツールを使用して C/C++ コード整形ツールを作成する Aug 26, 2023 pm 01:09 PM

このチュートリアルでは、helpofclangtools を使用して C/C++ コード形式設定ツールを作成するプログラムについて説明します。SETUPsudoaptinstallpythonsudoaptinstallclang-format-3.5 次に、現在のユーザーが読み取りおよび書き込み権限を持つ場所に Python ファイルを作成します。例 importoscpp_extensions=(".cxx",".cpp&

C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? Aug 26, 2023 am 09:29 AM

sizeof() で取得される構造体型の要素のサイズは、個々のメンバーのサイズと必ずしも同じではありません。コンパイラは、アライメントの問題を回避するためにパディングを追加する場合があります。したがって、寸法が変更される可能性があります。パディングは、構造メンバーの後に大きいサイズのメンバーが続く場合、または構造の最後にある場合に追加されます。コンパイラが異なれば、アライメント制約のタイプも異なります。 C 標準では、全体的なアライメント構造は実装に依存します。ケース 1 この場合、double z の長さは 8 バイトであり、x (4 バイト) よりも大きくなります。したがって、さらに 4 バイトのパディングが追加されます。さらに、short 型データ y にはメモリ内に 2 バイトのスペースがあるため、余分な 6 バイトがパディングとして追加されます。サンプルコード #include<stdio.h>structmyS

Golangの並列処理で乱数生成を同期するにはどうすればよいですか? Golangの並列処理で乱数生成を同期するにはどうすればよいですか? Jun 03, 2024 pm 02:53 PM

Go 同時プログラミングでの乱数生成の同期: ミューテックス (sync.Mutex) を使用して、rand.Rand 乱数ジェネレーターへのアクセスを制御します。各ゴルーチンは乱数を生成する前にミューテックス ロックを取得し、生成後にミューテックス ロックを解放します。これにより、一度に 1 つの goroutine だけが乱数ジェネレーターにアクセスできるようになり、データ競合が排除されます。

PHPのrand関数を使用して同じ乱数を生成する問題を解決する方法 PHPのrand関数を使用して同じ乱数を生成する問題を解決する方法 Mar 23, 2023 am 09:17 AM

rand() 関数は、各呼び出しで同じ初期シードを使用します。デフォルトの初期シードはオペレーティング システムの時間から取得されますが、精度はマイクロ秒のみです。つまり、非常に短い期間内に、多くの rand() 関数呼び出しで同じ初期シードが使用され、同じ乱数が生成されます。では、この問題をどうやって解決すればよいでしょうか?

vscode 構成 C/C++ 実行環境について詳しく説明した記事 [乳母レベルの指導] vscode 構成 C/C++ 実行環境について詳しく説明した記事 [乳母レベルの指導] Feb 27, 2023 pm 07:33 PM

VScode で C/C++ を開発するにはどうすればよいですか? C/C++環境を構成するにはどうすればよいですか?次の記事では、VScode 構成 C/C++ 実行環境のチュートリアル (乳母レベルの指導) を紹介します。

C/C++ には、前置インクリメントと後置インクリメントの 2 つの操作があります。 C/C++ には、前置インクリメントと後置インクリメントの 2 つの操作があります。 Aug 25, 2023 pm 02:25 PM

ここでは、C または C++ におけるプリインクリメントとポストインクリメントとは何かを見てみましょう。前置インクリメントと後置インクリメントは両方ともインクリメント演算子です。しかし、それらの間にはほとんど違いはありません。前置インクリメント演算子は、まず変数の値をインクリメントしてから、それを他の変数に代入しますが、後置インクリメント演算子の場合は、まず変数に代入してから、値を増分します。例 #include<iostream>usingnamespacestd;main(){ intx,y,z; x=10; y=10;&nb

See all articles