..

Iniciado por howaboutno, 28 Noviembre 2012, 16:26 PM

0 Miembros y 1 Visitante están viendo este tema.

howaboutno

..
..

howaboutno

solo me tiene que comparar la ultima jugada de la matriz, a eso lo de jugada[t+9]

febef

Cita de: howaboutno en 28 Noviembre 2012, 16:26 PM


if(jugada[t+9][3]==ganadoras)
{
printf("Ha ganado");
fflush(stdout);
}
else
{
printf("No ganadora");
fflush(stdout);
}



tambien asi pero sigue sin funcionar

if(strcmp(partida,ganadora)==0)
{
printf("la jugada es ganadora\n");

}else{
printf("la jugada no es ganadora");

}



   Ese es el código que implementas?
 
   Así estas comparando otra cosa, lo que tendrías que poner es un for para recorrer los posibles valores ganadores...


Código (cpp) [Seleccionar]


 int i;
 for ( i=0; i<12; i++)
 {
if(strcmp(partida,ganadoras[i])==0)
printf("la jugada es ganadora\n");
else
printf("la jugada no es ganadora");

 }

rir3760

#3
Cita de: howaboutno en 28 Noviembre 2012, 16:29 PMsolo me tiene que comparar la ultima jugada de la matriz, a eso lo de jugada[t+9]
Con esto:
char ganadoras[11][3]={"333","444","555","666","222","111","336","446","556","331","332"};
Declaras un array de 11 elementos y cada uno es un array de 3 elementos de tipo char. El punto importante es: como cada elemento no tiene capacidad para el '\0' este se descarta, son secuencias de caracteres (no son cadenas) y por ello no puedes utilizar funciones para el manejo de cadenas que requieran del '\0' como strcmp.

Como realizar la comparación depende del tipo de la variable "jugada". Si el tipo es el mismo puedes utilizar "strncmp" o "memcmp" para comparar los primeros tres elementos (caracteres).

Para evitar adivinanzas mejor coloca la declaración de las variables que intentas comparar.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language