Pages

lunes, 21 de enero de 2013

Convertir a números romanos entre 1000 y 2000 Codigo Fuente en C++

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

Solución
  • Entrada: 1597
  • Salida:  MDXCVII
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"};
    string Mil[] = {"", "M", "MM"};
    cout<<"Ingresa numero entre 1000 y 2000"<<endl;
    cin>>N;
    int u=N%10;
    int d= (N/10)%10;
    int c=(N/100)%10;
    int m=N/1000;
    if(N>=1000 && N<=2000){
        cout<<Mil[m]<<Centena[c]<<Decena[d]<<Unidad[u];
    }else{
        cout<<"Fuera de Rango";
    }
   return 0;
}

0 comentarios:

Publicar un comentario