Hirdetés

Új hozzászólás Aktív témák

  • Jester01
    veterán

    a teljesség igénye nélkül:

    char* romai[4][10] = {
    {"", "I","II","III","IV","V","VI","VII","VIII","IX"},
    {"", "X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
    {"", "C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
    {"", "M","MM","MMM", "/(IV)", "/(V)", "/(VI)", "/(VII)", "/(VIII)", "/(IX)"}};

    int arab, szamjegy;

    printf("Az arab szam: ");
    scanf("%d",&arab);

    for(int helyiertek = 3; helyiertek >= 0; helyiertek--)
    {
    szamjegy = (int)(arab / pow(10.0, helyiertek));
    printf("%s", romai[helyiertek][szamjegy]);
    arab -= (int)(szamjegy * pow(10.0, helyiertek));
    }

    még a tízezres/százezreseknek is van római megfelelője, de azt most hagyjuk :D

    for(helyiertek = romai + 3, hatvany = 1000; arab > 0; helyiertek--, hatvany /= 10)
    {
    div_t d = div(arab, hatvany);
    arab = d.rem;
    fputs((*helyiertek)[d.quot], stdout);
    }

Új hozzászólás Aktív témák