Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 08-may-2008, 15:42   #1 (permalink)
wiki_wiki ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Pregunta problemas con el mastermind

Hola chicos! soy nueva por aqui , venia en busca de informacion y 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 metas un numero en el ordenador y luego tu trates de adivinarlo, 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, si a alguien se le ocurre algo seria de agradecer, muchas gracias!

1º/aparatado:

#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;
}
wiki_wiki está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:17.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93