elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Srand para que den dos numeros diferentes?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Srand para que den dos numeros diferentes?  (Leído 9,219 veces)
Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Srand para que den dos numeros diferentes?
« Respuesta #10 en: 19 Febrero 2012, 20:38 pm »

No me meto el tema ya que no puedo ayudar pero te doy unos consejos:

-Cuando escribas code hazlo en la etiquetas Geshi.
-Si declaras variables de mismo tipo, hazlo a la vez.

Código
  1. int x; int y; int z;

-Tambien pudes asignarle el valor cuando las declaras y no después.

Código
  1. int x = 1; int y = 2; int z = 2;

No te lo digo por mal, pero es para que ordenes mejor tu código, sea más fácil de programar y, posteriormente, de entenderlo.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Srand para que den dos numeros diferentes?
« Respuesta #11 en: 19 Febrero 2012, 21:26 pm »

Ahi esta el Code.

Llamarlas no me cuesta. Entenderlas para que me servirian, me cuesta.
El problemas es, al tratar de avanzar demasiado rápido en tu aprendizaje, estas ignorando (por trolling o de forma genuina, no lo se) las recomendaciones que se te dan. Casi al punto de parecer esto un monologo.

Veamos:

En mi primer mensaje indico:
Y casi puedo asegurar que tu error es colocar la llamada a srand justo antes de la llamada a rand: esa es la única explicación para obtener dos veces el mismo numero con llamadas consecutivas a función.

Y si revisamos el código fuente que acabas de publicar:
Código
  1. srand( (unsigned)time( NULL ) ); /* <== */
  2. num1 = rand() % nivel;           /* <== */
  3. srand( (unsigned)time( NULL ) ); /* <== */
  4. num2 = rand() % nivel;           /* <== */

Lo que debes hacer es llamar una única vez a "srand", esto al principio del programa. Después solo llamas a "rand" cuando necesites el siguiente numero de la serie. Por ejemplo:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define NUM_ELEM 16
  6.  
  7. int main(void)
  8. {
  9.   int i;
  10.  
  11.   /* Definimos la semilla utilizando la hora actual */
  12.   srand((unsigned) time(NULL));
  13.  
  14.   /* Impresion de valores en el rango 0 .. NUM_ELEM - 1 */
  15.   for (i = 0; i < NUM_ELEM; i++)
  16.      printf(" %d", rand() % NUM_ELEM);
  17.   putchar('\n');
  18.  
  19.   return EXIT_SUCCESS;
  20. }

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Srand para que den dos numeros diferentes?
« Respuesta #12 en: 19 Febrero 2012, 22:16 pm »

No, mi estupidez es genuina.

Entonces hay que ponerlo al principio, entonces, despues llamo a rand.

Lamento si les cause molestias, no entendia bien.

Muitas gracias
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Problema] Programa para averiguar números pares entre 2 números
Programación Visual Basic
Dreamaker 3 5,826 Último mensaje 21 Mayo 2010, 23:45 pm
por Shell Root
¿Problema con srand()?
Programación C/C++
Marovingio 3 3,539 Último mensaje 15 Septiembre 2010, 05:51 am
por Littlehorse
programas con srand y rand
Programación C/C++
lokita_sarah 1 2,275 Último mensaje 1 Diciembre 2011, 04:28 am
por ralymontes
Como utilizar dos veces la funcionn srand(time(NULL))
Programación C/C++
BJM 3 7,271 Último mensaje 19 Enero 2013, 11:58 am
por Puntoinfinito
Duda cstdlib y srand (C++)
Programación C/C++
K-YreX 1 1,648 Último mensaje 25 Noviembre 2018, 08:11 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines