none
Descomponer un numero

    Pregunta

  • Buenas tardes a todos,

     

     

    Bueno es la primera vez que hago una pregunta en este foro.

     

    Tengo que hacer un programa en C# que descomponga un numero:

     

    Ejemplo:   1997 separarlo para poder hacer una operacion como ejemplo . 1+9+9+7=26

     

    Gracias a todos.

    viernes, 21 de septiembre de 2007 20:48

Respuestas

  • No se pero encontre otra respuesta un poco mas practica

     

      /*----------------------------------------------------------------------

      |   Programa Desarrollado por: Cristhian Angarita  |
      |   Programa Tarot                                              |
      ----------------------------------------------------------------------*/


    using System;
    using MisClases.ES;

    public class CTarot
    {
        public static void Main(string[] args)
        {
            int dia, mes, ano, Starot, Ttarot1, Ttarot2, Ttarot3, Ttarot4, Ttarot5, Ttarot6, SmaTarot1, SmaTarot2;
        

            Console.Write("Dia: ");
            dia = Leer.datoInt();
            Console.Write("Mes: ");
            mes = Leer.datoInt();
            Console.Write("Año: ");
            ano = Leer.datoInt();

            Starot = dia + mes + ano;
            Console.WriteLine("La suma es:"+ Starot);
           
            Ttarot1 = (Starot / 1000);
            Console.WriteLine("Ttarot1:" + Ttarot1);
            Ttarot2 = (Starot % 1000)/100;
            Console.WriteLine("Ttarot2:" + Ttarot2);
            Ttarot3 = ((Starot%1000)%100) / 10;
            Console.WriteLine("Ttarot3:" + Ttarot3);
            Ttarot4 = (((Starot % 1000) % 100)%10);
            Console.WriteLine("Ttarot4:" + Ttarot4);
            SmaTarot1 = Ttarot1 + Ttarot2 + Ttarot3 + Ttarot4;
            Console.WriteLine("Sumatoria de las Variables: " + SmaTarot1);
            Ttarot5 = (SmaTarot1 / 10);
            Console.WriteLine("Ttarot5:" + Ttarot5);
            Ttarot6 = (SmaTarot1 % 10);
            Console.WriteLine("Ttarot6:" + Ttarot6);
            SmaTarot2 = Ttarot5 + Ttarot6;
            Console.WriteLine("Su numero de la Suerte es: " +SmaTarot2);
        }
    }

    lunes, 24 de septiembre de 2007 20:58

Todas las respuestas

  • Debes realizarlo conviertiendo el numero en un 'string' y luego descomponerlo con la funcion '.substring'

      string numero = "1997";

      int resultado = 0;

      for (int indice = 0; indice < numero.Length; indice++)

       resultado+=(int)Convert.ToDouble(numero.Substring(indice,1));

       System.Console.WriteLine(resultado);

       System.Console.ReadLine();

     

    pero esto es un ejemplo un poco clasico... tambien puedes usar formas mas ingeniosas... pero es la una!

    Espero que sirva,

    Saludos,

    Pep Lluis,

     

    viernes, 21 de septiembre de 2007 22:38
  • Bueno  Cristhian
    hay te colaboro con la funcion que realiza esta accion!
    igual repasa el codigo para ver si es esto lo que quieres y mucha suerte!

    Code Snippet

    private int DescomponerYSumar(int numeroADescomponer){           
                int resultado = 0;

                //pasa el numero de una cadena a un arreglo de caracteres
                char[] numerosSeparados = numeroADescomponer.ToString().ToCharArray();
               
                //recorre el arreglo para poder hacer la operacion
                foreach(char numeroActual in numerosSeparados)
                {
                    resultado += int.Parse(numeroActual.ToString());
                }

                return resultado;       
            }



    Nos hablamos luego en el foro! y ojala sigas metiendote con el desarrollo!
    viernes, 21 de septiembre de 2007 22:40
  • jejeje PepLluis me ganaste!
    la proxima sere mas rapido!

    Jejejejeje
    viernes, 21 de septiembre de 2007 22:41
  • A tal cual!

    Te tomaste mas tiempo, pero mejor respuesta. La rapidez nunca es buena aliada... asi que soy yo el que espera ganar la proxima vez.

    Saludos,

    Pep Lluis,

     

    viernes, 21 de septiembre de 2007 22:57
  • No se pero encontre otra respuesta un poco mas practica

     

      /*----------------------------------------------------------------------

      |   Programa Desarrollado por: Cristhian Angarita  |
      |   Programa Tarot                                              |
      ----------------------------------------------------------------------*/


    using System;
    using MisClases.ES;

    public class CTarot
    {
        public static void Main(string[] args)
        {
            int dia, mes, ano, Starot, Ttarot1, Ttarot2, Ttarot3, Ttarot4, Ttarot5, Ttarot6, SmaTarot1, SmaTarot2;
        

            Console.Write("Dia: ");
            dia = Leer.datoInt();
            Console.Write("Mes: ");
            mes = Leer.datoInt();
            Console.Write("Año: ");
            ano = Leer.datoInt();

            Starot = dia + mes + ano;
            Console.WriteLine("La suma es:"+ Starot);
           
            Ttarot1 = (Starot / 1000);
            Console.WriteLine("Ttarot1:" + Ttarot1);
            Ttarot2 = (Starot % 1000)/100;
            Console.WriteLine("Ttarot2:" + Ttarot2);
            Ttarot3 = ((Starot%1000)%100) / 10;
            Console.WriteLine("Ttarot3:" + Ttarot3);
            Ttarot4 = (((Starot % 1000) % 100)%10);
            Console.WriteLine("Ttarot4:" + Ttarot4);
            SmaTarot1 = Ttarot1 + Ttarot2 + Ttarot3 + Ttarot4;
            Console.WriteLine("Sumatoria de las Variables: " + SmaTarot1);
            Ttarot5 = (SmaTarot1 / 10);
            Console.WriteLine("Ttarot5:" + Ttarot5);
            Ttarot6 = (SmaTarot1 % 10);
            Console.WriteLine("Ttarot6:" + Ttarot6);
            SmaTarot2 = Ttarot5 + Ttarot6;
            Console.WriteLine("Su numero de la Suerte es: " +SmaTarot2);
        }
    }

    lunes, 24 de septiembre de 2007 20:58
  • Ummm bueno si dices que es mas Practica!
    martes, 25 de septiembre de 2007 17:43
  • Buenas tardes a todos,

      

     

    Bueno es la primera vez que hago una pregunta en este foro.

     

    Tengo que hacer un programa en C# que descomponga un numero:

     

    Ejemplo:   1997 separarlo para poder hacer una operacion como ejemplo . 1+9+9+7=26

     

    Gracias a todos.


    tengo que saber descomponer 20.012

     

    • Propuesto como respuesta campera03 martes, 25 de octubre de 2011 12:56
    martes, 25 de octubre de 2011 12:56