I dette emne vil vi lære om den tilfældige funktion, og hvordan vi kan generere det tilfældige tal i programmeringssproget C. Som vi ved, bruges den tilfældige funktion til at finde det tilfældige tal mellem to definerede tal. I programmeringssproget C har den tilfældige funktion to indbyggede funktioner: rand() og srand() funktion. Lad os forstå disse funktioner i C-sproget.
rand() funktion
I den C programmeringssprog , funktionen rand() er en biblioteksfunktion, der genererer det tilfældige tal i området [0, RAND_MAX]. Når vi bruger funktionen rand() i et program, skal vi implementere stdlib.h header-fil, fordi rand()-funktionen er defineret i stdlib-header-filen. Den indeholder ikke noget frønummer. Derfor, når vi udfører det samme program igen og igen, returnerer det de samme værdier.
Bemærk: Hvis de tilfældige tal genereres med rand()-funktionen uden at kalde srand()-funktionen, returnerer den de samme sekvenser af tal, hver gang programmet udføres.
Syntaks
int rand (void)
Funktionen rand() returnerer de tilfældige heltal, hvis område fra 0 til RAND_MAX. RAND_MAX er en symbolsk konstant, der definerer i stdlib.h header-fil, hvis værdi er større, men mindre end 32767 afhængigt af C-bibliotekerne.
få array længde i c
Generer de tilfældige tal ved hjælp af rand()-funktionen
Lad os skrive et program for at få det tilfældige tal ved hjælp af rand()-funktionen.
om
#include #include #include void main() { // use rand() function to generate the number printf (' The random number is: %d', rand()); printf (' The random number is: %d', rand()); printf (' The random number is: %d', rand()); printf (' The random number is: %d', rand()); getch(); }
Produktion
The random number is: 41 The random number is: 18467 The random number is: 6334 The random number is: 26500
Generer 5 tilfældige tal ved hjælp af rand()-funktionen
Lad os overveje et program til at generere 5 tilfældige tal ved hjælp af funktionen rand() i programmeringssproget C.
tilfældig.c
#include #include int main() { int i; /* It returns the same sequence of random number on every execution of the program. */ printf(' Random Numbers are: '); for (i = 0; i <5; i++) { printf(' %d', rand()); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Random Numbers are: 41 18467 6334 26500 19169 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Random Numbers are: 41 18467 6334 26500 19169 </pre> <p> <strong>3rd execution of the program</strong> </p> <pre> Random Numbers are: 41 18467 6334 26500 19169 </pre> <p>As we can see in the above output, it returns the same sequence of random numbers on every execution of the programming code.</p> <h3>Generate 10 random numbers from 1 to 100 using rand() function</h3> <p>Let's consider a program to find the random number in C using rand() function.</p> <p> <strong>rand_num.c</strong> </p> <pre> #include #include #include int main() { // declare the local variables int i, num; printf (' Program to get the random number from 1 to 100 '); for (i = 1; i <= 100 10; i++) { num="rand()" % + 1; use rand() function to get the random number printf (' %d ', num); getch(); } < pre> <p> <strong>Output</strong> </p> <pre> Program to get the random number from 1 to 100 42 68 35 1 70 25 79 59 63 65 </pre> <h2>srand() function</h2> <p>The srand() function is a C library function that determines the initial point to generate different series of pseudo-random numbers. A srand() function cannot be used without using a rand() function. The srand() function is required to set the value of the seed only once in a program to generate the different results of random integers before calling the rand() function.</p> <h3>Syntax</h3> <pre> int srand (unsigned int seed) </pre> <p> <strong>seed</strong> : It is an integer value that contains a seed for a new sequence of pseudo-random numbers.</p> <h3>Generate the random numbers using srand() function</h3> <p>Let's write a program to get the random numbers using srand() function in C.</p> <p> <strong>srandNum.c</strong> </p> <pre> #include #include #include // use time.h header file to use time int main() { int num, i; time_t t1; // declare time variable printf(' Enter a number to set the limit for a random number '); scanf (' %d', &num); /* define the random number generator */ srand ( (unsigned) time (&t1)); // pass the srand() parameter printf(' '); // print the space /* generate random number between 0 to 50 */ for (i = 0; i <num; i++) { printf( '%d ', rand() % 50); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit for a random number 10 44 32 23 35 6 33 1 4 22 18 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter a number to set the limit for a random number 15 13 30 24 27 4 30 28 35 36 13 44 39 21 5 7 </pre> <p>As we can see in the above Output, it returns different sequences of random numbers on every execution of the programming code.</p> <h3>Generate the random numbers using srand() and time() function</h3> <p>Let's write a program to get the random numbers using srand() with time() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int random = rand(); // assign the rand() function to random variable srand( time(0)); printf( ' Seed = %d', time(0)); printf( ' Random number = %d', random); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Seed = 1619450091 Random number = 41 </pre> <h3>Get a seeding value and print the random numbers using srand() function</h3> <p>Let's write a program to get the seed value and random numbers using srand() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int count; unsigned int seed; // use for randomize number printf(' Enter the Seeding value: '); scanf(' %u', &seed); srand (seed); // pass parameter // generate random number between 1 to 6 for (count = 1; count <= 1 5="=" 10; ++count) { printf(' %5d', + (rand () % 6)); if (count 0) print the number in next line puts(' '); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the Seeding value: 10 6 4 3 3 6 3 3 1 3 4 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter the Seeding value: 20 2 4 2 4 5 4 3 5 1 4 </pre> <p> <strong>3rd execution of the program:</strong> </p> <pre> Enter the Seeding value: 25 1 6 1 6 4 4 1 4 1 3 </pre> <p>As we can see in the above Output, when we executed the same program again and again with different seeds values, it displays the different sequences of a random number from 1 to 6.</p> <h3>Generate the random number using the random function</h3> <p>Let's create a program to use stadlib header file to get the random number using random function in C.</p> <p> <strong>func.c</strong> </p> <pre> #include #include #include int main() { int i, num, max, temp; printf (' Enter a number to set the limit of random numbers '); scanf ('%d', num); printf (' Enter the maximum number from you want to get the random number: '); scanf ('%d', max); printf (' %d random number from 0 to %d number are: ', num, max); randomize(); for (i = 1; i <= num; i++) { temp="random(max)" * use random() function to get the random number printf (' %d ', temp); print } getch(); < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit of random numbers 17 Enter the maximum number from you want to get the random number: 100 15 random number from 0 to 100 number are: 42 68 35 1 70 25 79 59 63 28 75 89 90 43 7 4 65 </pre> <h2>Program to generate float random numbers</h2> <p>Let's consider a program to print the float random numbers in C.</p> <p> <strong>random1.c</strong> </p> <pre> #include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf('%f', ((float) rand() rand_max) * f1); printf(' '); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;></pre></=></pre></=></pre></num;></pre></=></pre></5;>
2. udførelse af programmet:
Random Numbers are: 41 18467 6334 26500 19169
3. udførelse af programmet
forårsstøvlearkitektur
Random Numbers are: 41 18467 6334 26500 19169
Som vi kan se i ovenstående output, returnerer den den samme sekvens af tilfældige tal ved hver udførelse af programmeringskoden.
Generer 10 tilfældige tal fra 1 til 100 ved hjælp af rand()-funktionen
Lad os overveje et program til at finde det tilfældige tal i C ved hjælp af rand()-funktionen.
rand_num.c
#include #include #include int main() { // declare the local variables int i, num; printf (' Program to get the random number from 1 to 100 '); for (i = 1; i <= 100 10; i++) { num="rand()" % + 1; use rand() function to get the random number printf (\' %d \', num); getch(); } < pre> <p> <strong>Output</strong> </p> <pre> Program to get the random number from 1 to 100 42 68 35 1 70 25 79 59 63 65 </pre> <h2>srand() function</h2> <p>The srand() function is a C library function that determines the initial point to generate different series of pseudo-random numbers. A srand() function cannot be used without using a rand() function. The srand() function is required to set the value of the seed only once in a program to generate the different results of random integers before calling the rand() function.</p> <h3>Syntax</h3> <pre> int srand (unsigned int seed) </pre> <p> <strong>seed</strong> : It is an integer value that contains a seed for a new sequence of pseudo-random numbers.</p> <h3>Generate the random numbers using srand() function</h3> <p>Let's write a program to get the random numbers using srand() function in C.</p> <p> <strong>srandNum.c</strong> </p> <pre> #include #include #include // use time.h header file to use time int main() { int num, i; time_t t1; // declare time variable printf(' Enter a number to set the limit for a random number '); scanf (' %d', &num); /* define the random number generator */ srand ( (unsigned) time (&t1)); // pass the srand() parameter printf(' '); // print the space /* generate random number between 0 to 50 */ for (i = 0; i <num; i++) { printf( \'%d \', rand() % 50); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit for a random number 10 44 32 23 35 6 33 1 4 22 18 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter a number to set the limit for a random number 15 13 30 24 27 4 30 28 35 36 13 44 39 21 5 7 </pre> <p>As we can see in the above Output, it returns different sequences of random numbers on every execution of the programming code.</p> <h3>Generate the random numbers using srand() and time() function</h3> <p>Let's write a program to get the random numbers using srand() with time() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int random = rand(); // assign the rand() function to random variable srand( time(0)); printf( ' Seed = %d', time(0)); printf( ' Random number = %d', random); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Seed = 1619450091 Random number = 41 </pre> <h3>Get a seeding value and print the random numbers using srand() function</h3> <p>Let's write a program to get the seed value and random numbers using srand() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int count; unsigned int seed; // use for randomize number printf(' Enter the Seeding value: '); scanf(' %u', &seed); srand (seed); // pass parameter // generate random number between 1 to 6 for (count = 1; count <= 1 5="=" 10; ++count) { printf(\' %5d\', + (rand () % 6)); if (count 0) print the number in next line puts(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the Seeding value: 10 6 4 3 3 6 3 3 1 3 4 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter the Seeding value: 20 2 4 2 4 5 4 3 5 1 4 </pre> <p> <strong>3rd execution of the program:</strong> </p> <pre> Enter the Seeding value: 25 1 6 1 6 4 4 1 4 1 3 </pre> <p>As we can see in the above Output, when we executed the same program again and again with different seeds values, it displays the different sequences of a random number from 1 to 6.</p> <h3>Generate the random number using the random function</h3> <p>Let's create a program to use stadlib header file to get the random number using random function in C.</p> <p> <strong>func.c</strong> </p> <pre> #include #include #include int main() { int i, num, max, temp; printf (' Enter a number to set the limit of random numbers '); scanf ('%d', num); printf (' Enter the maximum number from you want to get the random number: '); scanf ('%d', max); printf (' %d random number from 0 to %d number are: ', num, max); randomize(); for (i = 1; i <= num; i++) { temp="random(max)" * use random() function to get the random number printf (\' %d \', temp); print } getch(); < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit of random numbers 17 Enter the maximum number from you want to get the random number: 100 15 random number from 0 to 100 number are: 42 68 35 1 70 25 79 59 63 28 75 89 90 43 7 4 65 </pre> <h2>Program to generate float random numbers</h2> <p>Let's consider a program to print the float random numbers in C.</p> <p> <strong>random1.c</strong> </p> <pre> #include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf(\'%f\', ((float) rand() rand_max) * f1); printf(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;></pre></=></pre></=></pre></num;></pre></=>
srand() funktion
Funktionen srand() er en C-biblioteksfunktion, der bestemmer startpunktet for at generere forskellige serier af pseudo-tilfældige tal. En srand()-funktion kan ikke bruges uden at bruge en rand()-funktion. Funktionen srand() er påkrævet for kun at indstille værdien af frøet én gang i et program for at generere de forskellige resultater af tilfældige heltal, før funktionen rand() kaldes.
Syntaks
int srand (unsigned int seed)
frø : Det er en heltalsværdi, der indeholder et frø til en ny sekvens af pseudo-tilfældige tal.
Generer de tilfældige tal ved hjælp af srand()-funktionen
Lad os skrive et program til at få de tilfældige tal ved hjælp af srand()-funktionen i C.
srandNum.c
#include #include #include // use time.h header file to use time int main() { int num, i; time_t t1; // declare time variable printf(' Enter a number to set the limit for a random number '); scanf (' %d', &num); /* define the random number generator */ srand ( (unsigned) time (&t1)); // pass the srand() parameter printf(' '); // print the space /* generate random number between 0 to 50 */ for (i = 0; i <num; i++) { printf( \'%d \', rand() % 50); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit for a random number 10 44 32 23 35 6 33 1 4 22 18 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter a number to set the limit for a random number 15 13 30 24 27 4 30 28 35 36 13 44 39 21 5 7 </pre> <p>As we can see in the above Output, it returns different sequences of random numbers on every execution of the programming code.</p> <h3>Generate the random numbers using srand() and time() function</h3> <p>Let's write a program to get the random numbers using srand() with time() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int random = rand(); // assign the rand() function to random variable srand( time(0)); printf( ' Seed = %d', time(0)); printf( ' Random number = %d', random); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Seed = 1619450091 Random number = 41 </pre> <h3>Get a seeding value and print the random numbers using srand() function</h3> <p>Let's write a program to get the seed value and random numbers using srand() function.</p> <p> <strong>srand_time.c</strong> </p> <pre> #include #include int main() { int count; unsigned int seed; // use for randomize number printf(' Enter the Seeding value: '); scanf(' %u', &seed); srand (seed); // pass parameter // generate random number between 1 to 6 for (count = 1; count <= 1 5="=" 10; ++count) { printf(\' %5d\', + (rand () % 6)); if (count 0) print the number in next line puts(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the Seeding value: 10 6 4 3 3 6 3 3 1 3 4 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter the Seeding value: 20 2 4 2 4 5 4 3 5 1 4 </pre> <p> <strong>3rd execution of the program:</strong> </p> <pre> Enter the Seeding value: 25 1 6 1 6 4 4 1 4 1 3 </pre> <p>As we can see in the above Output, when we executed the same program again and again with different seeds values, it displays the different sequences of a random number from 1 to 6.</p> <h3>Generate the random number using the random function</h3> <p>Let's create a program to use stadlib header file to get the random number using random function in C.</p> <p> <strong>func.c</strong> </p> <pre> #include #include #include int main() { int i, num, max, temp; printf (' Enter a number to set the limit of random numbers '); scanf ('%d', num); printf (' Enter the maximum number from you want to get the random number: '); scanf ('%d', max); printf (' %d random number from 0 to %d number are: ', num, max); randomize(); for (i = 1; i <= num; i++) { temp="random(max)" * use random() function to get the random number printf (\' %d \', temp); print } getch(); < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit of random numbers 17 Enter the maximum number from you want to get the random number: 100 15 random number from 0 to 100 number are: 42 68 35 1 70 25 79 59 63 28 75 89 90 43 7 4 65 </pre> <h2>Program to generate float random numbers</h2> <p>Let's consider a program to print the float random numbers in C.</p> <p> <strong>random1.c</strong> </p> <pre> #include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf(\'%f\', ((float) rand() rand_max) * f1); printf(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;></pre></=></pre></=></pre></num;>
2. udførelse af programmet:
Enter a number to set the limit for a random number 15 13 30 24 27 4 30 28 35 36 13 44 39 21 5 7
Som vi kan se i ovenstående output, returnerer den forskellige sekvenser af tilfældige tal ved hver udførelse af programmeringskoden.
Generer de tilfældige tal ved hjælp af funktionen srand() og time().
Lad os skrive et program til at få de tilfældige tal ved at bruge srand() med time()-funktionen.
hvad min skærmstørrelse
srand_time.c
#include #include int main() { int random = rand(); // assign the rand() function to random variable srand( time(0)); printf( ' Seed = %d', time(0)); printf( ' Random number = %d', random); return 0; }
Produktion
Seed = 1619450091 Random number = 41
Få en seed-værdi og udskriv de tilfældige tal ved hjælp af srand()-funktionen
Lad os skrive et program for at få startværdien og tilfældige tal ved hjælp af srand()-funktionen.
sammenkædningsstreng i java
srand_time.c
#include #include int main() { int count; unsigned int seed; // use for randomize number printf(' Enter the Seeding value: '); scanf(' %u', &seed); srand (seed); // pass parameter // generate random number between 1 to 6 for (count = 1; count <= 1 5="=" 10; ++count) { printf(\' %5d\', + (rand () % 6)); if (count 0) print the number in next line puts(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the Seeding value: 10 6 4 3 3 6 3 3 1 3 4 </pre> <p> <strong>2nd execution of the program:</strong> </p> <pre> Enter the Seeding value: 20 2 4 2 4 5 4 3 5 1 4 </pre> <p> <strong>3rd execution of the program:</strong> </p> <pre> Enter the Seeding value: 25 1 6 1 6 4 4 1 4 1 3 </pre> <p>As we can see in the above Output, when we executed the same program again and again with different seeds values, it displays the different sequences of a random number from 1 to 6.</p> <h3>Generate the random number using the random function</h3> <p>Let's create a program to use stadlib header file to get the random number using random function in C.</p> <p> <strong>func.c</strong> </p> <pre> #include #include #include int main() { int i, num, max, temp; printf (' Enter a number to set the limit of random numbers '); scanf ('%d', num); printf (' Enter the maximum number from you want to get the random number: '); scanf ('%d', max); printf (' %d random number from 0 to %d number are: ', num, max); randomize(); for (i = 1; i <= num; i++) { temp="random(max)" * use random() function to get the random number printf (\' %d \', temp); print } getch(); < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit of random numbers 17 Enter the maximum number from you want to get the random number: 100 15 random number from 0 to 100 number are: 42 68 35 1 70 25 79 59 63 28 75 89 90 43 7 4 65 </pre> <h2>Program to generate float random numbers</h2> <p>Let's consider a program to print the float random numbers in C.</p> <p> <strong>random1.c</strong> </p> <pre> #include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf(\'%f\', ((float) rand() rand_max) * f1); printf(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;></pre></=></pre></=>
2. udførelse af programmet:
Enter the Seeding value: 20 2 4 2 4 5 4 3 5 1 4
3. udførelse af programmet:
Enter the Seeding value: 25 1 6 1 6 4 4 1 4 1 3
Som vi kan se i ovenstående output, når vi udførte det samme program igen og igen med forskellige frøværdier, viser det de forskellige sekvenser af et tilfældigt tal fra 1 til 6.
Generer det tilfældige tal ved hjælp af den tilfældige funktion
Lad os oprette et program til at bruge stadlib header-fil til at få det tilfældige tal ved hjælp af tilfældig funktion i C.
func.c
#include #include #include int main() { int i, num, max, temp; printf (' Enter a number to set the limit of random numbers '); scanf ('%d', num); printf (' Enter the maximum number from you want to get the random number: '); scanf ('%d', max); printf (' %d random number from 0 to %d number are: ', num, max); randomize(); for (i = 1; i <= num; i++) { temp="random(max)" * use random() function to get the random number printf (\' %d \', temp); print } getch(); < pre> <p> <strong>Output</strong> </p> <pre> Enter a number to set the limit of random numbers 17 Enter the maximum number from you want to get the random number: 100 15 random number from 0 to 100 number are: 42 68 35 1 70 25 79 59 63 28 75 89 90 43 7 4 65 </pre> <h2>Program to generate float random numbers</h2> <p>Let's consider a program to print the float random numbers in C.</p> <p> <strong>random1.c</strong> </p> <pre> #include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf(\'%f\', ((float) rand() rand_max) * f1); printf(\' \'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;></pre></=>
Program til at generere flydende tilfældige tal
Lad os overveje et program til at udskrive de flydende tilfældige tal i C.
tilfældig1.c
#include #include #include int main() { srand( (unsigned int) time(NULL)); float f1 = 5.0; int i; printf(?Float random numbers are: ?); for (i = 0; i<10; i++) { printf(\\'%f\\', ((float) rand() rand_max) * f1); printf(\\' \\'); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Float random numbers are: 1.208075 1.658376 4.645070 2.298807 3.117161 0.961486 4.115573 4.336223 2.894833 2.249825 </pre> <hr></10;>
10;>=>=>=>5;>