C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

与えられた数字または文字のセットからランダムパーティションを生成するC++プログラム


これは、指定された数字または文字のセットからランダムパーティションを生成するC++プログラムです。

アルゴリズム

Begin整数または文字を入力として受け取ります。選択肢1の場合:n個の整数配列を入力します。配列をトラバースするには、l=0を割り当てます。 rand()を使用して、nのランダムな整数分割を生成します。パーティションiごとに、インデックス値lから次のi整数を出力します。選択は2です。ch[]に文字列を入力します。文字列の長さを計算し、lを0に割り当てると、文字列をトラバースします。文字列の長さのランダムな整数パーティションを生成します。パーティションiごとに、インデックス値l.Endから次のi文字を出力します

 #include  #include  #include  using namespace std; int main(){int n、i、j、l、c; cout <<"整数の場合は1、文字配列の場合は2を入力して、配列を生成します:"; cin>> c; //選択肢1の場合:if(c ==1){cout <<"\ n整数配列の要素数を入力してください:"; cin>> n; int a [n]; cout <<"\ n配列の要素を入力してください:\ n"; for(i =0; i > a [i]; } cout <<"\ n指定された配列のランダムパーティションは次のとおりです:\ n"; l =0; while(n> 0){cout <<"\ t ["; i =rand()%n + 1; n =n-i; for(j =0; j > ch; n =strlen(ch); cout <<"\ n指定された文字列のランダムパーティションは次のとおりです:\ n"; l =0; // l =0を割り当てて、配列をトラバースします。 while(n> 0){cout <<"\ t ["; i =rand()%n + 1; n =n-i; for(j =0; j  

出力

整数の場合は1、文字配列の場合は2を入力して配列を生成します:1整数配列の要素数を入力します:10配列の要素を入力します:1要素を入力します:10 2要素を入力します:9 3要素を入力します:8 4要素を入力します:7 5要素:6 6要素を入力:5 7要素を入力:4 8要素を入力:3 9要素を入力:2 10要素を入力:1指定された配列のランダムパーティションは次のとおりです:[10 9] [8 7 6 5] [4 3 2] [1] 

出力

整数の場合は1、文字配列の場合は2を入力して配列を生成します。2文字を入力します。ABCDEFGHIJKLMNOPQRSTUVWXYZ指定された文字列のランダムパーティションは次のとおりです。 
  1. ミドルスクエア法を使用して乱数を生成するC++プログラム

    ミドルスクエア法は、乱数を生成する最も簡単な方法の1つです。このメソッドは、同じ番号の生成を繰り返し開始するか、シーケンス内の前の番号に循環して、無期限にループします。 n桁の乱数のジェネレーターの場合、ピリオドはnを超えることはできません。真ん中のn桁がすべてゼロの場合、ジェネレーターはゼロを永久に出力しますが、これらのゼロの実行は簡単に検出できますが、頻繁に発生するため、この方法を実用化することはできません。 Input − Enter the digit for random number:4 Output − The random numbers are: 63

  2. 乱数を生成するC++プログラム

    C++を使用して乱数を生成する方法を見てみましょう。ここでは、0からある値の範囲のランダムな数値を生成しています。 (このプログラムでは、最大値は100です。) この操作を実行するために、srand()関数を使用しています。これはCライブラリにあります。関数voidsrand(unsigned int seed) 関数randで使用される乱数ジェネレーターをシードします 。 srand()の宣言は以下のようになります void srand(unsigned int seed) シードと呼ばれるパラメータを取ります。これは、疑似乱数ジェネレータアルゴリズムによってシードとして使用される整数