Pages

lunes, 21 de enero de 2013

Convertir a números romanos entre 1 y 999 Codigo Fuente en C++

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

Solución

  • Entrada: 697
  • Salida:  DCXCVII
Codigo Fuente en C++
#include <iostream>
#include <sstream>
using namespace std;
int main(){
    int N;
    string Unidad[]={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
    string Decena[]={"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
    string Centena[]= {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
    cout<<"Ingresa numero entre 1 y 999"<<endl;
    cin>>N;
    int u=N%10;
    int d= (N/10)%10;
    int c=N/100;
    if(N>=100){
        cout<<Centena[c]<<Decena[d]<<Unidad[u];
    }else{
    if(N>=10){
          cout<<Decena[d]<<Unidad[u];
      }else{
          cout<<Unidad[N];
      }
    }
   return 0;
}

1 comentarios:

Anónimo dijo...

Muchas gracias

Publicar un comentario en la entrada