Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/11/2008, 23:08
IgnacioJavier
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Convertir de numeros Romanos a numeros arabigos

A mi manera de ver, deber recibir el numero romano con un arreglo de caracteres, del tamaño suficiente para recibir un numero grande Ej: 3888 = MMMDCCCLXXXVIII para lo cual necesitarías definir char op[15].

Con esto, recibes el número con un ciclo DO con un contador para saber cuántas letras se introdujeron,
Luego, haces un bucle FOR para "convertir" el numero romano, empezando por el mayor valor posible (M) con la opción de que le preceda una letra menor. Ej:

for (j=0; j<i; j++) // i= numero de letras

if op[j] == 'C' && op[j+1] =='M'

num += 900



Y así sucesivamente. Es un poco dispendioso, pero no se me ocurre nada mejor.

Última edición por IgnacioJavier; 10/11/2008 a las 23:23