Lista la version para celular click aqui.
Tal vez este post paresca algo egocentrico, pero esta aqui por que cuando se logra algo se siente una gran satisfaccion que se desea compartir…
Navegando por la red me encontre con este programa: Decimal-a-Romanos-1.2.1 . Y algunas otras paginas de algoritmos que se encargan de pasar un numero decimal a su equivalente numero romano, pero pues me parecian algo complejos y decidi escribir el programa en C++ empezando desde cero y aqui lo tienen.
#include <iostream>
using namespace std;
void calcularCifraRomana(int num, char a, char b, char c){
int j;
if(num==9)
cout<< a << c;
else{
if(num>4){
cout<< b;
for(j=1; j<=num-5; j++)
cout<< a;
}
else{
if(num==4)
cout<< a << b;
else{
for(j=1; j<=num; j++)
cout<< a;
}
}
}
}
int main(){
int n, r, digito;
do{
system("cls");
cout<<"\n Transformo numeros decimales del 0 al 3000 en su equivalente numero Romano";
cout<<"\n Autor: Fredy Ramirez Guzman\tPrograma: decimal_romano.cpp\n\n\n";
cout<<"\tNumero Decimal: ";
cin>>n;
}while(n<0 || n>3000);
cout<<"\n\tNumero romano: ";
r=n;
digito=r/1000;
r=r%1000;
calcularCifraRomana(digito, 'M', ' ', ' ');
digito=r/100;
r=r%100;
calcularCifraRomana(digito, 'C', 'D', 'M');
digito=r/10;
r=r%10;
calcularCifraRomana(digito, 'X', 'L', 'C');
digito=r;
calcularCifraRomana(digito, 'I', 'V', 'X');
cout<<endl <<endl;
system("pause");
return 0;
}
Se que no soy un gran programador pero agrada programar y trato de resolver algunos pequeños problemas que me encuentro en la red, como este, tratare de escribirlo con J2ME para tenerlo en mi celular, 🙂
Saludos!!!.
PD: Si alguien encuentra un codigo con el mismo algoritmo, tiene alguna mejor sugerencia o duda, la espero en algun comentario.