[C con Clase] Mostrar los dígitos de un entero de 5 dígitos

Humberto Boone Abdo h.boone en outlook.com
Jue Ago 8 04:18:41 CEST 2013


Gracias, ya lo he podido hacer y al parecer si me funcionó. Aquí el código. Entonces lo que logré entender es que cuando se divide el entero entre el número (1, 10, etc.) se almacena en la variable sólo lo que esta antes que el punto porque es del tipo 'int' y sólo pude manejar enteros. Después en la parte de dígitos finales sucede algo similar aquí según yo, el 10 hace que se mueva el punto hasta que sólo quede un dígito después del punto, que ese dígito sería el residuo y  éste es el dígito que ocupa la ubicación del entero.
Otra duda, leí por ahí que en los lenguajes de programación el 0 es como sí fuera uno (o lo primero), entonces yo al primer dígito le puse el nombre a su variable de d0 o df0 no sé si esto esté bien.
Muchas gracias Steven.
#include <iostream>



using namespace std;



int main()
 
{


	int entero;


	cout << "Introduce un entero de 5 dígitos: ";
 
cin >> entero; // 42339 de ejemplo



// para calcular después los dígitos finales
	int d0 = entero / 1; // 42339


	int d1 = entero / 10; //4233.9


	int d2 = entero / 100; //423.39


	int d3 = entero / 1000; //42.339


	int d4 = entero / 10000; //4.2339


 
	

// dígitos finales
	int df0 = d0 % 10; // Residuo 9


	int df1 = d1 % 10; // Residuo 3


	int df2 = d2 % 10; // Residuo 3


	int df3 = d3 % 10; // Residuo 2


	int df4 = d4 % 10; // Residuo 4
 


	


	


	cout << df4 << "   " << df3 << "   " << df2 << "   " << df1 << "   " << df0 << "   " << endl;



	system("pause");


	return 0;
 



}
 

 
Date: Wed, 7 Aug 2013 20:50:22 -0400
From: srd4121 en njit.edu
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase]	Mostrar los dígitos de un entero de 5 dígitos

Hola Humberto,
2013/8/7 Humberto Boone Abdo <h.boone en outlook.com>




Hola, recién me inicio en c++ y estaba resolviendo los ejercicios del final del capitulo y me encontré con uno que no he podido resolver. El problema dice:


Ante todo, bienvenido a la lista de correo-e y a este "mundillo" de la programación en C++.

Escriba un programa que reciba como entrada un número entero de cinco dígitos, que separe ese número en sus dígitos individuales y los imprima, cada uno separado de los demás por tres espacios. Me sugiere que utilice los operadores de división entera y módulo.

Vas por buen camino, pero me temo que los cálculos de 'df4' ni de 'df3' son correctos, porque ambos contendrían 9. También date cuenta que no conseguimos mucho dividiendo entre 100, 1000, etc. porque lo único que hacemos es eliminar los primeros dígitos, en lugar de los últimos.

Lo que te interesa es conseguir que el dígito que quieres obtener esté en las unidades. Por ejemplo, si tenemos 42339, y queremos el 3 de las decenas, nos interesa hacer algo que resulte en: 4233. Y ahora podemos aplicar el módulo o resto de la división:


d3 = 4233 %10;  // Guarda 3
Por lo tanto, necesitas hacer algo a 42339 para obtener 4233. Como pista, usa la división; lo demás te lo dejo a ti :)

Espero que esto te oriente.

Steven


_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130807/0a0ec8ba/attachment.html>


Más información sobre la lista de distribución Cconclase