
Números colegas
Publicado por Rubén (12 intervenciones) el 01/11/2013 21:09:45
Buenas tardes, programadores,
Soy nuevo aquí, así que no sé si poner mi duda aquí es lo correcto, pero allá va. Resulta que tengo que hacer un programa que evalúe que un número sea colega de un número entero de una cifra o no. Para que el número sea colega de un número 'd' el número ha de empezar por el número d y acabar por el mismo número 'd'. Y a cuestión es que mi programa lo hace correctamente con números de 2 cifras, pero cuando el número a evaluar es de 3 o más no lo hace bien, así que me preguntaría, si alguien es tan amable de decirme cuál es el problema de mi código. Muchas gracias de antemano. Seréis recompensados debidamente.
Soy nuevo aquí, así que no sé si poner mi duda aquí es lo correcto, pero allá va. Resulta que tengo que hacer un programa que evalúe que un número sea colega de un número entero de una cifra o no. Para que el número sea colega de un número 'd' el número ha de empezar por el número d y acabar por el mismo número 'd'. Y a cuestión es que mi programa lo hace correctamente con números de 2 cifras, pero cuando el número a evaluar es de 3 o más no lo hace bien, así que me preguntaría, si alguien es tan amable de decirme cuál es el problema de mi código. Muchas gracias de antemano. Seréis recompensados debidamente.
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
PROGRAM numeros_colegas;
VAR
Numero,NumeroCifra :integer;
resto: integer;
NumeroColegaUnaCifra: boolean;
BEGIN
writeln('******** NUMEROS COLEGAS*******');
writeln;
REPEAT
write('Escriba un numero entero positivo: ');
readln(Numero);
UNTIL (numero>=0);
REPEAT
write('Escriba un numero de una cifra: ');
readln(NumeroCifra);
UNTIL (NumeroCifra>=0) AND (NumeroCifra<10);
IF (Numero DIV 10 = 0) THEN
IF (Numero = NumeroCifra)THEN
NumeroColegaUnaCifra:= TRUE
ELSE
NumeroColegaUnaCifra:= FALSE
ELSE
IF (Numero DIV 10 <> 0) THEN
resto:=(Numero div 10) mod 10;
IF (Resto DIV 10 = 0) THEN
IF (resto = NumeroCifra)THEN
NumeroColegaUnaCifra:= TRUE
ELSE
NumeroColegaUnaCifra:= FALSE;
writeln;
IF (NumeroColegaUnaCifra = TRUE) THEN
writeln('El numero ',Numero,' SI es colega de ',NumeroCifra)
ELSE
writeln('El numero ',Numero,' NO es colega de ',NumeroCifra);
readln;
END. {end begin}
- numeroscolegas.rar(476,0 B)
Valora esta pregunta


0