elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Numeros Romanos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Numeros Romanos  (Leído 12,677 veces)
edr89

Desconectado Desconectado

Mensajes: 105


Ver Perfil
Re: Numeros Romanos
« Respuesta #20 en: 11 Junio 2013, 02:33 am »

Encontre una forma para los numeros cuya longitud es par pero al correr el código se queda parado en la linea 21, meti un printf y esta arrojando el valor pero no continua :(

El compilador me esta dando una advertencia:
Incompatible implicit declaration of built-in function 'strlen'[Enabled by default]
(se me olvido agregar <string.h>)

Código
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <string.h>
  4. #define M 1000
  5. #define D 500
  6. #define C 100
  7. #define L 50
  8. #define X 10
  9. #define V 5
  10. #define I 1
  11. int main()
  12. {
  13.    int i,j,caracteres=0,arabigo[20]={0},resultado=0;
  14.    char numero[20];
  15.    printf("Escribe un numero romano:");
  16.    gets(numero);
  17.    caracteres = strlen(numero);
  18.    for(i=0;i<caracteres;i++) //Convertir minusculas a mayusculas
  19.    {
  20.        numero[i] = toupper(numero[i]);
  21.    }
  22. printf("caracteres: %d\n",caracteres);
  23.    for(i=0;i<caracteres;i++)
  24.    {
  25.        switch(numero[i])
  26.        {
  27.            case 'M':
  28.                {
  29.                    arabigo[i]= M;
  30.                    break;
  31.                }
  32.            case 'D':
  33.                {
  34.                    arabigo[i]= D;
  35.                    break;
  36.                }
  37.            case 'C':
  38.                {
  39.                    arabigo[i]= C;
  40.                    break;
  41.                }
  42.            case 'L':
  43.                {
  44.                    arabigo[i]= L;
  45.                    break;
  46.                }
  47.            case 'X':
  48.                {
  49.                    arabigo[i]= X;
  50.                    break;
  51.                }
  52.            case 'V':
  53.                {
  54.                    arabigo[i]= V;
  55.                    break;
  56.                }
  57.            case 'I':
  58.                {
  59.                    arabigo[i]= I;
  60.                    break;
  61.                }
  62.           }
  63.       }
  64.        if(caracteres==1)
  65.        {
  66.            resultado+= arabigo[0];
  67.        }
  68.        else if(caracteres%2==0) //Cuando el numero que escribimos es par.
  69.        {
  70.            for(j=0;j<caracteres;j+2)
  71.            {
  72.                if(arabigo[j]-arabigo[j+1]<0)
  73.                {
  74.                    resultado+=arabigo[j+1]-arabigo[j];
  75.                }
  76.                else
  77.                {
  78.                    resultado+= arabigo[j]+arabigo[j+1];
  79.                }
  80.            }
  81.        }
  82.        printf("El numero romano %s en arabigo es: %d",numero[20],resultado);
  83. }


« Última modificación: 13 Junio 2013, 02:17 am por edr89 » En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calculadora que suma numeros romanos
Programación C/C++
miiku 1 10,026 Último mensaje 13 Agosto 2012, 03:50 am
por farresito
verificar numeros romanos « 1 2 »
Programación C/C++
m@o_614 15 10,114 Último mensaje 22 Agosto 2013, 08:46 am
por rir3760
Pasar numeros enteros arábigos a romanos, por donde empezar. « 1 2 3 »
Programación C/C++
Caster 21 11,690 Último mensaje 18 Mayo 2014, 18:38 pm
por Blaster
[Aporte]Convertidor de números decimales a romanos
Programación C/C++
0xFer 0 3,022 Último mensaje 24 Mayo 2015, 19:00 pm
por 0xFer
Conversor de números arábigos a números romanos
Programación C/C++
perico1995 0 1,690 Último mensaje 19 Diciembre 2017, 17:54 pm
por perico1995
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines