Curso de Programación en C/Prog107
< Curso de Programación en C
								Ir a la navegación
				Ir a la búsqueda
				Revisión del 02:04 13 jul 2012 de Rrc (discusión | contribuciones) (Página creada con '__NOTOC__ *  Mejor random **  Resultado **  Explicación  == Prog107 ==  <syntaxhighlight lang="c" line="GESHI_FANCY_LINE_NUM...')
Prog107
 1 //Archivo Prog107a.c
 2 static unsigned long int Siguiente = 1;  /* La semilla  */
 3 
 4 int rand1( void )
 5 {
 6   Siguiente = Siguiente * 1103515245 + 12345;
 7 
 8   return (unsigned int) (Siguiente/65536) % 32768;
 9 }
10 
11 void srand1(unsigned int Semilla)
12 {
13   Siguiente = Semilla;
14 }
15 
16 // Archivo Prog107b.c
17 #include <stdio.h>
18 
19 extern void srand1( unsigned int x );
20 extern int rand1( void );
21 
22 int main( void )
23 {
24   int Contar;
25   unsigned Semilla;
26 
27   printf( "Ingressa una semilla (entero positivo): " );
28 
29   while( scanf( "%u", &Semilla ) == 1 )
30   {
31     srand1( Semilla );
32 
33     for( Contar = 0; Contar < 5; Contar++ )
34       printf( "%hd\n", rand1() );
35 
36     printf("Ingressa una semilla (entero positivo o q a terminar): ");
37   }
38 
39   printf( "Listo\n" );
40 
41   return 0;
42 }
Resultado
[rrc@llawyr CClase]$ gcc -Wall -o Prog107 Prog107a.c Prog107b.c [rrc@llawyr CClase]$ ./Prog107 Ingressa una semilla (entero positivo): 4 1817 24166 10491 3711 15407 Ingressa una semilla (entero positivo o q a terminar): 4 1817 24166 10491 3711 15407 Ingressa una semilla (entero positivo o q a terminar): 7 19564 9806 10868 22674 32531 Ingressa una semilla (entero positivo o q a terminar): 3 17747 7107 10365 8312 20622 Ingressa una semilla (entero positivo o q a terminar): q Listo [rrc@llawyr CClase]$