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
(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
0