Pages

sábado, 23 de febrero de 2013

Convertir a números ordinales entre 1 y 999 Codigo en C#

Problema
Determinar un algoritmo que permita convertir un número arábigo  comprendido entre  1 y 999 a números ordinales

Solución
  • Entrada: 697
  • Salida:  sexcentesimo nonagesimo septimo
Codigo Fuente en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Main
{
    class Program
    {
        static void Main(string[] args)
        {
            String[] Unidad = { "", "primero", "segundo", "tercero", 
            "cuarto", "quinto", "sexto", "septimo", "octavo",
            "noveno" };
            String[] Decena = { "", "decimo", "vigesimo", "trigesimo",
            "cuadragesimo", "quincuagesimo", "sexagesimo", 
            "septuagesimo", "octogesimo", "nonagesimo" };
            String[] Centena = {"", "centesimo", "ducentesimo",
            "tricentesimo", " cuadringentesimo", " quingentesimo",
            " sexcentesimo", " septingentesimo", " octingentesimo", 
            " noningentesimo"};
            Console.WriteLine("Ingresa numero entre 1 y 999");
            int N = Convert.ToInt32(Console.ReadLine());
            int u = N % 10;
            int d = (N / 10) % 10;
            int c = N / 100;
            if (N >= 100)
            {
          Console.WriteLine(Centena[c] +" " + Decena[d] +" "+ Unidad[u]);
            }
            else
            {
                if (N >= 10)
                {
                    Console.WriteLine(Decena[d] +" "+ Unidad[u]);
                }
                else
                {
                    Console.WriteLine(Unidad[N]);
                }
            }                 
                                    
        Console.ReadLine();
        }
    }
}

No hay comentarios:

Publicar un comentario