Generar numeros aleatorios sin repeticion[C]

Iniciado por HRSLASH, 27 Diciembre 2010, 18:09 PM

0 Miembros y 1 Visitante están viendo este tema.

HRSLASH

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


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define SIZE 20

void generarRandom(int [], int);
void ordenarVector(int [], int);
void mostrarVector(int [], int);

main()
{
      srand(time(NULL));
      int vector[SIZE] = {0};
     
      generarRandom(vector, SIZE);
      ordenarVector(vector, SIZE);
      mostrarVector(vector, SIZE);
     

      return 0;
}





void generarRandom(int v[], int size)
{
     int i, j, num, dupl;
     
     printf("RANDOM\n");
     for (i = 0; i < size; i++){
         num = 1 + rand() % size;
         dupl = 0;
         printf("%-4d", num);
         for (j = 0; j <= i; j++){
             if (num == v[j]){
                dupl = 1;
                break;
             }
         }
         if (dupl == 1)
            i--;
         else
            v[i] = num;
     }
}

void ordenarVector(int v[], int size)
{
     int i, j, temp;
     
     for (i = 0; i < size - 1; i++){
         for (j = i+1; j < size; j++){
             if (v[i] > v[j]){
                   temp = v[i];
                   v[i] = v[j];
                   v[j] = temp;
             }
         }
     }
}
   
void mostrarVector(int v[], int size)
{
     int i;
     
     printf("\n\nVECTOR\n");
     for (i = 0; i < size; i++)
         printf("%d\n", v[i]);
}
La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer

edmond.duke.developer

interesante.. , a favoritos !,

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

von Newman

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