| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
carlosabcs18
Registrado: 19 Abr 2014 Mensajes: 2
| Publicado: 19/04/2014 6:39 pm | | | Título: [C++] Aplicacion para hallar las cifras de un numero? |
| DIsculpen, como seria el codigo o que recurso de C++ uso para señalar cada cifra de un numero que ingrese el usuario, por ejemplo:
1234: La cifra de las unidades es: 4 La cifra de las decenas es:3 La cifra de las centenas es:2 La cifra de las unidades de millar es:1
Algo así, por favor !! |
| | Volver arriba | |  | vangodp
Registrado: 25 Ene 2014 Mensajes: 34
| Publicado: 19/04/2014 7:17 pm | | | Título: |
| Quieres separarlos es eso? XDD pues divides para el uno por mil, para el segundo por 100, para el segundo por 10 y ya para el ultimo lo que sobra XDD
| Código: | #include <iostream> #include <windows.h> using namespace std;
int main (){ system("MODE CON cols=100 lines=50"); int value = 1234; int temp = value/1000; cout << "Obtenemos el 1 1234/1000: "<< temp << endl; value = value%1000; cout << "Con value%1000 obtenemos lo que sobra de la division: "<< value << endl; temp = value/100; cout << "Obtenemos el 2 234/100: "<< temp << endl; value = value%100; cout << "Con value%100 obtenemos lo que sobra de la division: "<< value << endl; //.... //El resto lo haces tu XDD cin.ignore(); return 0; }
|
Eso lo llaman desglosar, descomponer o desempaquetar un numero. Se suele utilizar para cosas como si tengo un billete de 100 pavos y quiero saber cuantas notas de 10 serian pues lo divido 100/10 así de simple XDDD Eso es ¿No? Espero que te sirva 
https://www.youtube.com/watch?v=j3-OJgTeyho |
| | Volver arriba | |  | carlosabcs18
Registrado: 19 Abr 2014 Mensajes: 2
| | | Volver arriba | |  | | leosan
Registrado: 19 Abr 2012 Mensajes: 730 Ubicación: GRAN CANARIA
| Publicado: 24/04/2014 9:02 am | | | Título: Re: [C++] Aplicacion para hallar las cifras de un numero? |
| | carlosabcs18 escribió: | DIsculpen, como seria el codigo o que recurso de C++ uso para señalar cada cifra de un numero que ingrese el usuario, por ejemplo:
1234: La cifra de las unidades es: 4 La cifra de las decenas es:3 La cifra de las centenas es:2 La cifra de las unidades de millar es:1
Algo así, por favor !! |
Ya sé que llego un poco tarde pero andaba pillado.
Suponiendo que el número se va a introducir por el usuario, una opción podría ser:
| Cita: |
Introduzca un numero de nueve digitos maximo: 321456987 La cifra de unidades: 7 La cifra de decenas: 8 La cifra de centenas: 9 La cifra de miles: 6 La cifra de diez mil: 5 La cifra de cien mil: 4 La cifra de unidades de millon: 1 La cifra de decenas de millon: 2 La cifra de centenas de millon: 3
|
| Código: | #include <stdio.h>
int main(void){ int i=0,num; char unidades[][100]={"unidades","decenas","centenas","miles","diez mil","cien mil","unidades de millon","decenas de millon","centenas de millon"}; printf ("Introduzca un numero de nueve digitos maximo:\n"); scanf ("%9d",&num); while (num!=0){ printf("La cifra de %s: %d\n",unidades[i++], (num%10)); num=num/10; } return 0; } |
O bien, si se quiere en el orden inverso:
| Cita: | Introduzca un numero de nueve digitos maximo: 123456
La cifra de cien mil: 1 La cifra de diez mil: 2 La cifra de miles: 3 La cifra de centenas: 4 La cifra de decenas: 5 La cifra de unidades: 6
|
| Código: | #include <stdio.h>
int main(void){ int i=0,j,num,n_cifras=0; char unidades[][100]={"unidades","decenas","centenas","miles","diez mil","cien mil","unidades de millon","decenas de millon","centenas de millon"}; printf ("Introduzca un numero de nueve digitos maximo:\n"); scanf ("%9d",&num); for(i=10;num/i!=0;i*=10) n_cifras++; i/=10; putchar ('\n'); for (j=n_cifras;num!=0;j--,i/=10){ printf("La cifra de %s: %d\n",unidades[j],num/i); num=num % i; } return 0; } |
Aunque a mi me gusta más el que sigue ya que valida la entrada y además es más simple y permite implementar los dos casos anteriores sin estar limitado por el tamaño del número:
| Cita: | Introduzca un numero de diez digitos maximo: 3210456987 La cifra de unidades: 7 La cifra de decenas: 8 La cifra de centenas: 9 La cifra de miles: 6 La cifra de diez mil: 5 La cifra de cien mil: 4 La cifra de unidades de millon: 0 La cifra de decenas de millon: 1 La cifra de centenas de millon: 2 La cifra de miles de millon: 3
La cifra de miles de millon: 3 La cifra de centenas de millon: 2 La cifra de decenas de millon: 1 La cifra de unidades de millon: 0 La cifra de cien mil: 4 La cifra de diez mil: 5 La cifra de miles: 6 La cifra de centenas: 9 La cifra de decenas: 8 La cifra de unidades: 7
|
| Código: | #include <stdio.h>
int main(void){ int i=0,j; char numero[100],unidades[][100]={"unidades","decenas","centenas","miles","diez mil","cien mil","unidades de millon","decenas de millon","centenas de millon","miles de millon"}; do{ printf ("Introduzca un numero de diez digitos maximo:\n"); scanf ("%s",&numero); for (j=0;numero[j];j++) if (numero[j]<'0' || numero[j]>'9'){ j=10; break; } }while (j>10); for(i=0;numero[i];i++) printf("La cifra de %s: %c\n",unidades[i], numero[j-i-1]); putchar ('\n'); for(i=j-1;i>=0;i--) printf("La cifra de %s: %c\n",unidades[i], numero[j-i-1]); return 0; } |
Saluditos!. |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |