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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Generar numeros aleatorios sin repeticion[C]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar numeros aleatorios sin repeticion[C]  (Leído 25,055 veces)
HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Generar numeros aleatorios sin repeticion[C]
« en: 27 Diciembre 2010, 18:09 pm »

Hola foreros!! Dejo un programa q genera numeros aleatorios y los almacena en un vector solo si no estan repetidos..
Saludos!!

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. #define SIZE 20
  5.  
  6. void generarRandom(int [], int);
  7. void ordenarVector(int [], int);
  8. void mostrarVector(int [], int);
  9.  
  10. main()
  11. {
  12.      srand(time(NULL));
  13.      int vector[SIZE] = {0};
  14.  
  15.      generarRandom(vector, SIZE);
  16.      ordenarVector(vector, SIZE);
  17.      mostrarVector(vector, SIZE);
  18.  
  19.  
  20.      return 0;
  21. }
  22.  
  23.  
  24.  
  25.  
  26.  
  27. void generarRandom(int v[], int size)
  28. {
  29.     int i, j, num, dupl;
  30.  
  31.     printf("RANDOM\n");
  32.     for (i = 0; i < size; i++){
  33.         num = 1 + rand() % size;
  34.         dupl = 0;
  35.         printf("%-4d", num);
  36.         for (j = 0; j <= i; j++){
  37.             if (num == v[j]){
  38.                dupl = 1;
  39.                break;
  40.             }
  41.         }
  42.         if (dupl == 1)
  43.            i--;
  44.         else
  45.            v[i] = num;
  46.     }
  47. }
  48.  
  49. void ordenarVector(int v[], int size)
  50. {
  51.     int i, j, temp;
  52.  
  53.     for (i = 0; i < size - 1; i++){
  54.         for (j = i+1; j < size; j++){
  55.             if (v[i] > v[j]){
  56.                   temp = v[i];
  57.                   v[i] = v[j];
  58.                   v[j] = temp;
  59.             }
  60.         }
  61.     }
  62. }
  63.  
  64. void mostrarVector(int v[], int size)
  65. {
  66.     int i;
  67.  
  68.     printf("\n\nVECTOR\n");
  69.     for (i = 0; i < size; i++)
  70.         printf("%d\n", v[i]);
  71. }
  72.  


En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
edmond.duke.developer

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Generar numeros aleatorios sin repeticion[C]
« Respuesta #1 en: 28 Diciembre 2010, 06:13 am »

interesante.. , a favoritos !,

pronto publicaré algunos programitas que hice hace algún tiempo.... ;D !


En línea

von Newman


Desconectado Desconectado

Mensajes: 355


Ver Perfil WWW
Re: Generar numeros aleatorios sin repeticion[C]
« Respuesta #2 en: 28 Diciembre 2010, 06:58 am »

esta demás decir que para ver el resultado un gecth() en el main hace falta... buen código.
saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines