SoloCodigo

Asuntos Oficiales => Papelera => Mensaje iniciado por: isabelita en Lunes 7 de Abril de 2008, 01:44

Título: Programa En C
Publicado por: isabelita en Lunes 7 de Abril de 2008, 01:44
Buenas tardes

Necesito resolver el siguiente problema, Me urge, por favor si me ayudan...

Necesito modificar el programa siguiente:
/* Figura 7.24: fig07_24.c

   Programa para barajar y repartir cartas */

#include <stdio.h>

#include <stdlib.h>

#include <time.h>



/* prototipos */

void baraja( int wMazo[][ 13 ] );

void reparte( const int wMazo[][ 13 ], const char *wCara[],

           const char *wPalo[] );



int main()

{

   /* inicializa el arreglo palo */

   const char *palo[ 4 ] = { "Corazones", "Diamantes", "Treboles", "Espadas" };



   /* inicializa el arreglo cara */

   const char *cara[ 13 ] =

      { "As", "Dos", "Tres", "Cuatro",

        "Cinco", "Seis", "Siete", "Ocho",

        "Nueve", "Diez", "Sota", "Reyna", "Rey" };



   /* inicializa el arreglo mazo */

   int mazo[ 4 ][ 13 ] = { 0 };



   srand( time( 0 ) ); /* semilla del generador de números aleatorios */



   baraja( mazo );

   reparte( mazo, cara, palo );



   return 0; /* indica terminación exitosa */



} /* fin de main */



/* baraja las cartas del mazo */

void baraja( int wMazo[][ 13 ] )

{

   int fila;    /* número de fila */

   int columna; /* número de columna */

   int carta;   /* contador */



   /* elige aleatoriamente un espacio para cada una de las 52 cartas */

   for ( carta = 1; carta <= 52; carta++ ) {



      /* elije una nueva ubicación al azar hasta que encuentra un espacio vacío  */

      do {

         fila = rand() % 4;

         columna = rand() % 13;

      } while( wMazo[ fila ][ columna ] != 0 ); /* fin de do...while */



      /* coloca el número de carta en el espacio vacío del mazo */

      wMazo[ fila ][ columna ] = carta;

   } /* fin de for */



} /* fin de la función baraja */



/* reparte las cartas del mazo */

void reparte( const int wMazo[4][ 13 ], const char *wCara[],

           const char *wPalo[] )

{

   int carta;   /* contador de cartas */

   int fila;    /* contador de filas */

   int columna; /* contador de columnas */



   /* reparte cada una de las 5 cartas */
   printf ("La mano de poquer corresponde a:\n\n");

   for ( carta = 1; carta <= 5; carta++ ) {



      /* realiza el ciclo a través de las filas de wMazo */

      for ( fila = 0; fila <= 3; fila++ ) {



         /* realiza el ciclo a través de las columnas de wMazo en la fila actual */

         for ( columna = 0; columna <= 12; columna++ ) {



            /* si el espacio contiene la carta actual, despliega la carta */

            if ( wMazo[ fila ][ columna ] == carta ) {

               printf( "%6s de %-9s\n", wCara[ columna ], wPalo[ fila ]);

            } /* fin de if */



         } /* fin de for */



      } /* fin de for */



   } /* fin de for */



} /* fin de la función reparte */


Esto para que haga lo siguiente: Con 5 cartas.
Escriba las funciones adicionales
para que el programa determine si la mano:
   -   Es una escalera real
   -   Es una escalera de color
   -   Es un póquer (cuatro cartas del mismo valor)
   -   Es un full
   -   Es un color (flush)
   -   Es una escalera (straight)
   -   Contiene un trío
   -   Tiene dos parejas
   -   Tiene una pareja
Título: Re: Programa En C
Publicado por: Eternal Idol en Lunes 7 de Abril de 2008, 06:18
No se hacen tareas, no nos importa que te urja.