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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Generar números aleatorios sin repeticiones. en: 2 Diciembre 2016, 02:22 am
tengo este código para generar números aleatorios sin que se repitan y guardarlos en una matriz, creo que se me queda en un loop infinito y no logro ver porque, he tratado de generar los números sin que se repitan de varias maneras y no lo logro, ayuda!!
(el codigo esta incompleto, extraje la parte en la que necesito ayuda)
Gracias :D

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <ctype.h>
  5. #include <windows.h>
  6.  
  7. int tableroNumerico[6][6];// aqui va a estar el tablero numerico original
  8. int tableroNumerico2[6][6];//aqui va a estar el tablero desordenado
  9. char tableroFigura[6][6];//aqui va a estar el tablero con la figura original
  10. char tableroFigura2[6][6];//aqui va a estar el tablero desordenado
  11. int repetidos[34];//este vector es para revisar los numeros repetidos en el rand
  12.  
  13. int generarNumero(int *c)
  14. {
  15. int numero;
  16. bool distinto=false;
  17.  
  18.    while(distinto==false)
  19.    {  
  20.        srand(time(NULL));//Cambio el seed con el tiempo de ese momento.
  21.        int cont=0;
  22.        numero=rand()%34+1;
  23.        for(int i=0; i<34; i++)
  24.        {
  25.            if(repetidos[i]==numero)
  26.                cont++;
  27.        }
  28.        if(cont==0)
  29.        {
  30.            distinto=true;
  31.            repetidos[*c]=numero;
  32.        }
  33.  
  34.    }  
  35. return numero;  
  36. }
  37.  
  38. void llenarTablero(char t)
  39. {
  40.  
  41.    int cont=0;
  42.    int aux=0;  
  43.    if(t=='f')
  44.    {
  45.  
  46.    }
  47.    else
  48.    {
  49.        for(int i=0; i<6; i++)
  50.            {
  51.             for(int j=0; j<6; j++)
  52.             {
  53.                if(i==0 && j==5)
  54.                    tableroNumerico2[i][j]=0;
  55.                else
  56.                    {
  57.                     aux=generarNumero(&cont);
  58.                     tableroNumerico2[i][j]=aux;
  59.                     cont++;  
  60.                    }      
  61.              }
  62.            }    
  63.    }  
  64. }
  65.  
  66. void mostrarTablero(char t) //Aqui imprimo el tablero despues de cada movimiento
  67. {
  68.    if(t=='f')
  69.    {
  70.  
  71.    }
  72.    else
  73.    {
  74.        for(int i=0; i<6; i++)
  75.            {
  76.             for(int j=0; j<6; j++)
  77.                {
  78.                 if(tableroNumerico2[i][j]==0)
  79.                    printf("[  ]");
  80.                  else
  81.                    printf("[ %i ]", tableroNumerico2[i][j]);  
  82.                }  
  83.                printf(" \n");    
  84.            }
  85.    }
  86. }
  87. main()
  88. {
  89.  for (int i=0; i<35; i++)
  90.    repetidos[i]=0;
  91.  char tipoTablero='n';
  92.  llenarTablero(tipoTablero) ;
  93.  mostrarTablero(tipoTablero);
  94.  system("pause");
  95. }
2  Programación / Programación C/C++ / Ayuda con rellenar una matriz con rand() en: 2 Julio 2016, 02:52 am
Buenas necesito ayuda con este codigo lo que quiero hacer es rellenar una matriz con numeros del 1 al 5 lo que se me ocurrio fue usar la funcion rand() pero me dan todos los espacios de la matriz 0, no se si este implementando bien la funcion o sea un error pasando los datos. Gracias de antemano!
Código:
#include <stdio.h>
#include <stdlib.h>
int tablero[9][9];

void llenartablero()
{
for (int i=0; i<9; i++)
{
for(int j=0; j<9;)
{
int X=0;
X = rand() % 6;
tablero[i][j]=X;
}
}
}


main()
{
char nombre[20];
printf("Candy Crush!\n");
system("pause");
printf("Ingrese su nombre: \n");
scanf("%s", nombre);
printf("REGLAS:\n -Bienvenido al juego Candy Crush! a continuacion se explicaran las regalas del juego \n-Juego e un jugador\n-Se cuenta con un tablero de 9x9 con cada espacio relleno con gelatina\n-El tablero estara repleto de 6 tipos distintos de caramelos\n-El objetivo del juego es unir los caramelos en filas de 3 o 4 para eliminar las gelatinas en los espacios en los que se unan los caramelos\n-Si se unen 4 caramelos del mismo color se creara un caramelo rayado que al usarse elimina una fila o columna de gelatina\n-Tienes 40 movimientos para eliminar todas las gelatinas\n-Suerte!\n");
for(int i=0; i<9; i++)
{
for(int j=0; j<9; j++)
printf("       %i ", tablero[i][j]);
printf("\n");
}


}



3  Programación / Programación C/C++ / Asignar valor a una variable aleatoriamente dentro de un rango definido en: 29 Junio 2016, 00:58 am
Hola gente, soy nuevo aqui en el foro y en el mundo de la programacion y tengo una pequena duda sobre un proyecto en el que me piden llenar una matriz de 9x9 con 6 valores, mi duda es que si dentro de un for yo podria asignar un valor aleatorio dentro de un rango definido(numeros del 0 al 5 por ejemplo) a una variable X
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines