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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda en proyecto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda en proyecto  (Leído 1,909 veces)
Marioman1532

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ayuda en proyecto
« en: 31 Julio 2019, 17:32 pm »

Hola necesito ayuda para la elaboracion de este programa:

Escribir un programa que permita jugar a la lotería. Las especificaciones son:
1.   Una tabla (matriz) de 4X4 para enteros
2.   Llenar la tabla con valores al azar desde 1 hasta 54
3.   Mostrar la tabla
4.   Tirar números entre 1 y 54 para ir “llenando” la tabla.
5.   Mostrar cada número que aparezca
En caso de ganar, mostrar los números con que se ganó y el mensaje GANADOR.
Reglas:
•   No se puede repetir ningún número en la tabla.
•   Las formas de ganar pueden ser:
Llenar una fila
Llenar una columna
Llenar una diagonal
Llenar los cuadros del centro
Llenar los cuadros de la esquina




En línea

Sputnik_

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: ayuda en proyecto
« Respuesta #1 en: 31 Julio 2019, 17:40 pm »

Marioman

¿En que parte del problema te has estancado? No esperes que te resuelvan la tarea completa,

Saludos


En línea

Las personas lo suficientemente locas como para pensar que pueden cambiar el mundo son las que lo cambian.
Marioman1532

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: ayuda en proyecto
« Respuesta #2 en: 31 Julio 2019, 17:45 pm »

por el momento tengo una parte en donde se barajean las cartas pero me sale error

Código
  1. #include<stdio.h>
  2. #include<time.h>
  3. #include<stdlib.h>
  4.  
  5. int *barajear(int max);
  6.  
  7. char *cartas[] = {
  8. "El Gallo","El diablito","La dama","El Catrin","El paraguas","La sirena","La escalera","La botella","El barril","El arbol","El melon","El valiente","El gorrito","La muerte","La pera","La bandera","El bandolon","El violoncello","La garza","El pajarito","La mano","La bota","La luna","El cotorro","El borracho","El corazon","El negrito","La sandia","El tambor","El camaron","Las jaras","El musico","La araña","El soldado","La estrella","El cazo","El mundo","El apache","El nopal","El alacran","la rosa","La calavera","La campana","El cantarito","El venado","El sol","La corona","La chalupa","El pino","El pescado","La palma","La maceta","El arpa","La rana"};
  9.  
  10. int main() {
  11. int *baraja = barajear(54);
  12. int i = 0;
  13. char c;
  14. while(i<54) {
  15. printf("%s\n",cartas[baraja[i]]);
  16. c = fgetc(stdin);
  17. i++;
  18. }
  19. }
  20.  
  21. int *barajear(int max) {
  22. char *no_repetidos = NULL;
  23. int *desorden = NULL;
  24. int r = 0;
  25. register int i = 0;
  26. sranddev();
  27. srand(time(NULL));
  28. while(no_repetidos == NULL){
  29. no_repetidos = calloc(max,sizeof(char));
  30. }
  31. while(desorden == NULL){
  32. desorden = calloc(max,sizeof(int));
  33. }
  34. do {
  35. r = rand() % max;
  36. if(no_repetidos[r] == 0) {
  37. desorden[i] = r;
  38. no_repetidos[r] = 1;
  39. i++;
  40. }
  41. }while(i < max);
  42. free(no_repetidos);
  43. return desorden;
  44. }
  45.  

MOD: No hacer doble post. Usa el boton modificar. Etiquqtea Geshi.
« Última modificación: 31 Julio 2019, 18:21 pm por MCKSys Argentina » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ayuda en proyecto
« Respuesta #3 en: 31 Julio 2019, 19:21 pm »

Una forma simple sería que crearás un array de enteros del mismo número de elementos que el que cartas y lo llenaras con 0, 1, 2, 3... Cada número representa un índice en el array cartas.

Así, supongamos que el array se llama baraja, baraja[0] contendría el 0 y ese 0 sería el índice para acceder a cartas, así cartas[baraja[0]] sería como cartas[0] que devolvería "El gallo".

Para desordenar el mazo de cartas sólo debes desordenar baraja y esto es tan sencillo cómo:
En un bucle que recorra todos los elementos de baraja siendo i la variable contador para este:
A cada iteración sacas un aleatorio entre 0 y el número de elementos menos 1 (en tu programa desde 0 hasta 53 ambos incluidos). Intercambias el elemento de baraja i con el elemento marcado con índice el número aleatorio.

Cuando se termine el bucle tendrás la baraja desordenada y sin repetir ningún elemento.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROYECTO!!!!
Electrónica
carcepower 2 3,064 Último mensaje 10 Marzo 2006, 12:33 pm
por plomo17
Ayuda con un Proyecto !!!!!!!!! « 1 2 »
Programación Visual Basic
VirucKingX 10 4,278 Último mensaje 26 Abril 2006, 04:04 am
por VirucKingX
ayuda con proyecto
Programación Visual Basic
claudio145 4 1,905 Último mensaje 31 Agosto 2007, 01:19 am
por cark
Ayuda con un proyecto « 1 2 3 4 »
Programación Visual Basic
lord manson 38 12,504 Último mensaje 19 Julio 2008, 14:49 pm
por lord manson
Ayuda CON mi proyecto « 1 2 »
Programación Visual Basic
blood_brother 11 5,439 Último mensaje 23 Agosto 2009, 18:29 pm
por seba123neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines