• Sábado 21 de Diciembre de 2024, 10:40

Autor Tema:  Programa En C  (Leído 2564 veces)

isabelita

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Programa En C
« en: Lunes 7 de Abril de 2008, 01:44 »
0
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

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programa En C
« Respuesta #1 en: Lunes 7 de Abril de 2008, 06:18 »
0
No se hacen tareas, no nos importa que te urja.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.