• Domingo 15 de Diciembre de 2024, 05:57

Autor Tema:  NUMEROS ALEATORIOS  (Leído 1252 veces)

jeamcito

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
NUMEROS ALEATORIOS
« en: Jueves 28 de Enero de 2010, 00:29 »
0
holas amigos hice un pequeño programa donde salian numeros al azar dentro de un rango especifico en este caso lo hice dentro de 1111 y 6666 por que kiero numeros de 4 cifras pero el problema es que no quiero que salgan los digitos 0, 7,8 y 9 osea quiero numeros comprendido entre 1111 y 6666 menos el 0,7,8 y 9 aqui les dejo el programa para que lo vean gracias.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
 
int main()
{    
    srand((unsigned)time(NULL));
    int A=1111 ;
    int B=6666;
    printf("%dn",A+rand()%((B-A)+1));
    getch();
    return 0;
}

benekid

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: NUMEROS ALEATORIOS
« Respuesta #1 en: Jueves 28 de Enero de 2010, 15:47 »
0
Primero.. creo que la libreria conio.h sobra para lo que necesitas
Segundo, no seria mas facil, aunque un poco costoso en memoria, pero vamos util.
Que cada numero (4 cifras) lo guardes en una variable... y luego compruebes si este es el numero que NO quieres y que lo cambie? digo yo vamos

Aqui el codigo para guardar cada numero en una variable int

int maquina,n1,n2,n3,n4;
//Numero Aleatorio, utiliza semillas aleatorias, y no repetidas, solo lo ejecuta una vez.
srand(time(NULL));
do
{
//Numero generado con semilla aleatorias
maquina=rand()%6666;
//Despomposicion del numero
n1=maquina/1000;
maquina%=1000;
n2=maquina/100;
maquina%=100;
n3=maquina/10;
maquina%=10;
n4=maquina;
}
while (AQUI PONES LAS COMPROBACIONES);

Saludos