/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

[C++] Aplicacion para hallar las cifras de un numero?

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
carlosabcs18



Registrado: 19 Abr 2014
Mensajes: 2

MensajePublicado: 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

MensajePublicado: 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 Wink

https://www.youtube.com/watch?v=j3-OJgTeyho
Volver arriba
carlosabcs18



Registrado: 19 Abr 2014
Mensajes: 2

MensajePublicado: 20/04/2014 11:53 am
Título: Graaciaaaas, muy buena ayuda :D

vangodp escribió:
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 Wink

https://www.youtube.com/watch?v=j3-OJgTeyho

_________________
Very Happy
Volver arriba
leosan



Registrado: 19 Abr 2012
Mensajes: 730
Ubicación: GRAN CANARIA

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com