Foros ZackYFileS

Foros ZackYFileS (http://foros.zackyfiles.com/index.php)
-   PROGRAMACIÓN Lenguajes: Visual Basic, C++, etc (http://foros.zackyfiles.com/forumdisplay.php?f=370)
-   -   Ejercicio C++, determinar si un nº es capicuo o no (http://foros.zackyfiles.com/showthread.php?t=392568)

Snake12 13/01/2006 21:31

Ejercicio C++, determinar si un nº es capicuo o no
 
Hola de nuevo a todos, como siempre me encuentro en verdaderos apuros, estoy de ejercicio y demás hasta el cuello, y los exámenes a la vuelta de la esquina, aún así los profesores no se quedan tranquilos si no te ponen tropecientos mil ejercicios...jejeje...que le vamos a hacer...

Bueno mi problema es el siguiente:

[QUOTE]Diseñar un programa C++ que determine si un número natural introducido por teclado es capicúa, usando para ello únicamente sumas y restas.

Nota: Se recomienda diseñar subprogramas para realizar las operaciones de producto y división entera (calculando cociente y resto) mediante sumas y restas.[/QUOTE]



El ejercicio he de realizarlo únicamente con subprogramas, nada de arrays o cosas más complicadas que se escapan aun a mi entendimiento, pq además el tema va de eso, de subprogramas.

Si me echaséis una mano os estaría sumamente agradecido, una pequeña orientación...

Muchas gracias por vuestro tiempo y simplemente por leerlo. Ta luegoo!!!

Coke 31/01/2006 01:54

seguro que llego tarde, pero por si a alguien le puede interesar, yo lo haria asi...

ejemplo...numero = 12344321

basicamente lo que hago es darle la vuelta al numero...

pondria un contador a 0

contador = 0;

cap = numero;

un while, condicion, numero!=0

cojo el ultimo y lo pongo al principio

12344321%10 = 1

contador = (contador*10)+1 = 1

divido el numero entre 10

numero = 12344321/10 = 1234432

misma operacion

1234432%10 = 2

contador = (contador*10)+2 ==> como contador = 1 ==> (1*10)+2 = 12

divido.... numero = 1234432/10 = 123443

repetimos

123443%10 = 3

contador = (contador*10)+3 ==> como contador = 12 ==> (12*10)+3 = 123

y asi hasta terminar el while...una vez acabado, basta comparar "contador" con "cap"

un saludo.

Coke.

kolmo7 31/01/2006 17:21

Y no se podría hacer comparando los números uno a uno de fuera a dentro: el último con el primero, el penúltimo con el segundo, ...

En tu ejemplo: 12344321

Habría que mirar si tiene un número par o impar de cifras para saber cuándo parar.

Coke 31/01/2006 22:14

tambien se podria, pero tendria que convertirlo en string primero....y luego compararlos...pero no sabemos si snake ha dado algo de eso.

ya se que la explicacion es un poco larga y puede parecer algo complicado, pero es tan sencillo como esto...

Código PHP:

while(num!=0){
        
resultado=resultado*10+num%10;
        
num/=10;
    } 

Coke.


La franja horaria es GMT +2. Ahora son las 13:49.

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate