Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > C / C++ > problemas con el mastermind
-Foros de debate

C / C++
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

problemas con el mastermind
Enviado por wiki el día 9 de mayo de 2008

Hola ! soy nueva por aqui , y necesito ayuda ya que soy novata en el lenguaje de programacion C++ . Bueno me han mandado hacer un mastermind con 4 numeros que no pueden repetirse, y el problema es que me compila mal y no veo el error, este apartado pide que el ordenador genere un numero aleatorio y luego tu trates de adivinarlo (no se generar un numero aleatorio), despues me han mandado hacer la parte inversa , es decir yo meto un numero en el ordenador y el ordenador tiene que adivinarlo y en esta parte si que no tengo ni idea, muchas gracias!


mi correo es thesexperience@hotmail.com

esto es lo que llevo hecho( es en C++):

#include <stdio.h>
#define N 4

int error (char cadena[N]) {
int i, j;
for (i=0; i<N; i++) {

//CARACTERES ERRONEOS
if ((cadena[i]!=\\\'1\\\') && (cadena[i]!=\\\'2\\\') && (cadena[i]!=\\\'3\\\') &&
(cadena[i]!=\\\'4\\\') && (cadena[i]!=\\\'5\\\') && (cadena[i]!=\\\'6\\\') && (cadena[i]!=\\\'7\\\')
&& (cadena[i]!=\\\'8\\\') && (cadena[i]!=\\\'9\\\') && (cadena[i]!=\\\'0\\\')) {
printf(\\\"La clave es numerica.\\\\n\\\");
printf(\\\"Intentalo otra vez.\\\\n\\\");
return 1;
}
}
return 0;
}

int desordenados_ (char propuesta[N], char clave[N]) {
int i, j, desordenados=0;
for (i=0; i<N; i++)
for (j=0; j<N; j++)
if (clave[i]==propuesta[j] && i!=j)
desordenados++;
if (desordenados) printf(\\\"Hay %d numeros desordenados en la clave.\\\\n\\\", desordenados++);
//else printf(\\\"No hay numeros desordenados en la clave.\\\\n\\\");
return desordenados;
}

int aciertos_ (char propuesta[N], char clave[N]) {
int i, aciertos=0;
for (i=0; i<N; i++)
if (clave[i]==propuesta[i])
aciertos++;
if (aciertos) printf(\\\"Hay %d numeros correctos en la clave.\\\\n\\\", aciertos);
else printf(\\\"Ningun numero introducido pertenece a la clave.\\\\n\\\");
return aciertos;
}

int main() {
char cl[N], pr[N];
int i, aciertos, desordenados;

do {
printf(\\\"Escribe la clave que se ha de adivinar (4 numeros): \\\");
gets(cl);
if(cl[N]>4)
printf(\\\"La clave es de 4 digitos.\\\\nIntentalo otra vez.\\\\n\\\");
} while (error(cl));
printf(\\\"\\\\n\\\\n\\\");

while (aciertos!=4) {
do {
printf(\\\"\\\\nEscribe tu propuesta: \\\");
gets(pr);
} while (error(pr));
desordenados=desordenados_(pr, cl);
aciertos=aciertos_(pr, cl);
}

if (aciertos==4) printf(\\\"\\\\nAcertaste!\\\\n\\\");
return 0;
}

 

Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network