Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: serg2404 en 2 Julio 2016, 02:52 am



Título: Ayuda con rellenar una matriz con rand()
Publicado por: serg2404 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");
}


}





Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: AlbertoBSD en 2 Julio 2016, 02:59 am
Hola.

Segun veo en ningun momento llamas a la funcion llenartablero()

La otra es que hubieras continuado el tema en el post que abristes hace algunos días.

Saludos


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: serg2404 en 2 Julio 2016, 03:01 am
Ah ok ok, pensaba que como tablero era una variable global no habia que llamarla en el main, gracias! la proxima sigo el tema en un solo post, capaz tenga otras dudas epara este codigo!


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: serg2404 en 2 Julio 2016, 04:03 am
Hola.

Segun veo en ningun momento llamas a la funcion llenartablero()

La otra es que hubieras continuado el tema en el post que abristes hace algunos días.

Saludos
Cuando llamo a la funcion ahora no se imprime nada  :-\, la verdad no tengo ni idea de cual podria ser el problema


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: AlbertoBSD en 2 Julio 2016, 04:14 am
Hola no se como estes llamando a la funcion pero el main deberia de quedar asi:

Código
  1. main()
  2. {
  3. char nombre[20];
  4. printf("Candy Crush!\n");
  5. system("pause");
  6. printf("Ingrese su nombre: \n");
  7. scanf("%s", nombre);
  8. 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");
  9. //Aqui llama a la funcion
  10. for(int i=0; i<9; i++)
  11. {
  12.  for(int j=0; j<9; j++)
  13.   printf("       %i ", tablero[i][j]);
  14.   printf("\n");
  15. }
  16.  
  17.  
  18. }

Saludos!


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: serg2404 en 2 Julio 2016, 04:22 am
Hola no se como estes llamando a la funcion pero el main deberia de quedar asi:

Código
  1. main()
  2. {
  3. char nombre[20];
  4. printf("Candy Crush!\n");
  5. system("pause");
  6. printf("Ingrese su nombre: \n");
  7. scanf("%s", nombre);
  8. 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");
  9. //Aqui llama a la funcion
  10. for(int i=0; i<9; i++)
  11. {
  12.  for(int j=0; j<9; j++)
  13.   printf("       %i ", tablero[i][j]);
  14.   printf("\n");
  15. }
  16.  
  17.  
  18. }

Saludos!
Si ahi donde pones que llame a la funcion es donde pongo llamartablero();, pero por alguna razon no imprime nada antes por lo menos me imprimia los 0s jajaja


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: AlbertoBSD en 2 Julio 2016, 04:41 am
ya vi el error el segundo for dentro de la funcion llenar no  tiene incremento en el contador y el segundo for dentro del main no tiene llaves.

Saludos


Título: Re: Ayuda con rellenar una matriz con rand()
Publicado por: serg2404 en 2 Julio 2016, 04:53 am
ya vi el error el segundo for dentro de la funcion llenar no  tiene incremento en el contador y el segundo for dentro del main no tiene llaves.

Saludos
Gracias!, ahora si sirve jajaja se me pasaron esos detalles.