Pascal/Turbo Pascal - Ayuda

   
Vista:

Ayuda

Publicado por Programer (5 intervenciones) el 28/11/2009 16:52:53
necesito ayuda con un subprograma, estoy aciendo un juego en el que tienes que adivinar un numero generado por el ordenador y ai una ayuda q te dice el numero de cifras q as acertado con respecto al numero generado por el ordenador, un ejemplo seria este:
(El ordenador a generado el numero 234, peo tu eso no lo sabes lo tenes q adivinar)
Introduce tu numero: 14
existe una coincidencia en el digito que esta en la posicion 1.
Introduce tu numero:
284
existe una coincidencia en el digito que esta en la posicion 1.
existe una coincidencia en el digito que esta en la posicion 3.

y asi sucesivamente, aqui os dejo lo q tengo exo aver q opinais, peo no me funciona como deberia, a ver si alguien me puede dar una solucion

PROGRAM Nivel2;
VAR
x,y: integer;
PROCEDURE Coinci (x,y:integer);{El numero x=numero del usuario, el numero y= el numero generado ordenador}
VAR
z,r, contador:integer;{variable auxiliar}
aparece: boolean;
BEGIN
contador:= 0;
IF (x=0) AND (y=0) THEN
aparece:= TRUE;
contador:= contador+1;
WHILE (x<>0) AND (y<>0) DO
BEGIN {del while}
z:= x MOD 10;
r:= y MOD 10
IF (z= r) THEN
aparece:= TRUE;
ELSE
x:= x DIV 10;
y:= y DIV 10;
contador:= contador+1;
END; {del while}
IF (aparece = TRUE) THEN
writeln ('Existe una coincidencia en la posicion', contador)
ELSE
writeln ('No se ha producido ninguna coincidencia, por favor intentelo de nuevo');
END;
BEGIN
writeln ('Introduzca un numero');
readln (x);
writeln ('Introduzca otro numero');
readln (y);
Coinci(x,y);
readln;
END.

Espero q me solucioneis este problema como me solucionasteis el q plantee el otro dia
gracias e antemanooo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda

Publicado por Diego Romero (997 intervenciones) el 29/11/2009 04:23:42
Es más fácil si almacenas las cifras por separado en un array de bytes. Tanto el número generado como el introducido por el usuario.

Así mismo, tienes errores de sintaxis. Hay un punto y coma inmediatamente antes de un else. Ese mismo else aparentemente debe ejecutar más de una sentencia por lo tanto debes encerrarlas en un bloque begin... end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar