| 
	
		|  Autor | Tema: Invertir un número dado  (Leído 3,427 veces) |  
	| 
			| 
					
						| BortizF 
								
								 Desconectado 
								Mensajes: 15
								
								   | 
 
Hola, chicos!
 cómo puedo invertir un número dado, osea, si me dan 3421 que el programa me devuelva:
 1243?
 gracias...
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 Programar por programar no tiene sentido, lo que le da sentido a la programación es poder ver más allá. Sentarte en frente de tu máquina y saber que vas a entrar a un mundo diferente, a un mundo más allá de los perjuicios, de los rencores, más allá del odio y la envidia. Es darle vida a algo sin sentido, es amar lo que haces. Esto es un arte, una pasión. |  |  |  | 
			| 
					
						| engel lex | 
 
basicamente lo que se hace es un ciclo con una división, modulo y multiplicación  (siendo e entrada y s salida) e: 1020304s:0
 
 /*ciclo 1*/
 s = s + (e mod 10) //esto obtendrá el 4 final, que es el modulo de 10
 -- s: 4
 
 s = s*10 //para mover el valor un espacio a la izquierda
 -- s: 40
 
 e = e/10 //como son enteros no se guardan decimales
 -- e: 102030
 
 /*ciclo 2*/
 s = s + (e mod 10) //esto obtendrá el 4 final, que es el modulo de 10
 -- s: 40
 
 s = s*10 //para mover el valor un espacio a la izquierda
 -- s: 400
 
 e = e/10 //como son enteros no se guardan decimales
 -- e: 10203
 
 /*ciclo 3*/
 s = s + (e mod 10) //esto obtendrá el 4 final, que es el modulo de 10
 -- s: 403
 
 s = s*10 //para mover el valor un espacio a la izquierda
 -- s: 4030
 
 e = e/10 //como son enteros no se guardan decimales
 -- e: 1020
 
 /**** varios ciclos despues ***/
 
 -- s: 40302010
 -- e: 0
 
 s = s/10 // (un factor de correción por el 0 sobrante)
 
el ciclo termina al la entrada ser 0... ahora intenta hacer el algoritmo y mostrar tu avance
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
 |  |  |  | 
			| 
					
						| BortizF 
								
								 Desconectado 
								Mensajes: 15
								
								   | 
 
Muchas gracias. Mira mi avance. Creo que lo hice para ese número y ahora tocará de una forma más genereal.//#include <stdio.h>
 
 int invierteNum(int num); //prototipo de función
 
 int main(){
 int numero = 1020304;
 int invertido =  0;
 
 //INVOCA A LA FUNCIÓN PARA INVERTIR EL NÚMERO
 invertido = invierteNum(numero);
 
 printf("%d", invertido);
 
 return 0;
 }
 
 //FUNCIÓN PARA INVERTIR EL NÚMERO DADO
 
 int invierteNum(int num){
 int invertido = 0;
 
 while(num > 0){
 invertido = invertido + (num%10);
 invertido = invertido * 10;
 num = num/10;
 }
 
 return invertido;
 
 
 
 }
 |  
						| 
								|  |  
								|  |  En línea | 
 
 Programar por programar no tiene sentido, lo que le da sentido a la programación es poder ver más allá. Sentarte en frente de tu máquina y saber que vas a entrar a un mundo diferente, a un mundo más allá de los perjuicios, de los rencores, más allá del odio y la envidia. Es darle vida a algo sin sentido, es amar lo que haces. Esto es un arte, una pasión. |  |  |  | 
			| 
					
						| BortizF 
								
								 Desconectado 
								Mensajes: 15
								
								   | 
 
Disculpa mi ignorancia. Ya ese programa me sirve con cualquier número xD. Cómo? no sé :v
 #include <stdio.h>
 
 int invierteNum(int num); //prototipo de función
 
 int main(){
 int numero = 0;
 int invertido =  0;
 
 printf("Inserte un numero entero");
 scanf("%d",&numero);
 
 //INVOCA A LA FUNCIÓN PARA INVERTIR EL NÚMERO
 invertido = invierteNum(numero);
 
 printf("%d", invertido);
 
 return 0;
 }
 
 //FUNCIÓN PARA INVERTIR EL NÚMERO DADO
 
 int invierteNum(int num){
 int invertido = 0;
 
 while(num > 0){
 invertido = invertido + (num%10);
 invertido = invertido * 10;
 num = num/10;
 }
 
 invertido = invertido /10;
 
 return invertido;
 
 }
 
 
 MUCHAS GRACIAS!!
 |  
						| 
								|  |  
								| « Última modificación: 18 Octubre 2017, 16:24 pm por BortizF » |  En línea | 
 
 Programar por programar no tiene sentido, lo que le da sentido a la programación es poder ver más allá. Sentarte en frente de tu máquina y saber que vas a entrar a un mundo diferente, a un mundo más allá de los perjuicios, de los rencores, más allá del odio y la envidia. Es darle vida a algo sin sentido, es amar lo que haces. Esto es un arte, una pasión. |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | [RETO] Comprobar si un numero dado es un numero de la suerte
							« 1 2 ... 5 6 » Programación Visual Basic
 | Karcrack | 53 | 27,003 |  17 Agosto 2010, 23:58 pm por Dessa
 |  
						|   |   | Generar numeros que contengan un numero dado x
							« 1 2 » Programación C/C++
 | GoBrit | 13 | 6,717 |  17 Enero 2015, 02:28 am por engel lex
 |  
						|   |   | invertir el número entero
							« 1 2 » Programación C/C++
 | lohayne | 10 | 13,608 |  22 Abril 2018, 16:48 pm por lohayne
 |  
						|   |   | Escriba un programa en c que diga si el dato dado es un numero una letrao signo Programación C/C++
 | Prepa305001 | 1 | 2,233 |  20 Julio 2019, 23:41 pm por @XSStringManolo
 |  
						|   |   | ¿Has dado tu número de teléfono a Facebook? Se han filtrado cientos de ... Noticias
 | wolfbcn | 0 | 1,523 |  5 Septiembre 2019, 21:47 pm por wolfbcn
 |    |