Beispiel 6: Römische Zahlen umrechnen – „geschachtelte“ Schleife

24.10.2016 05:31 Uhr
#include <iostream>

using namespace std;

int main()
{
char roemisch[10];
char roemischeZiffern[8] = "ivxlcdm";
int ziffernWert[7] = {1, 5, 10, 50, 100, 500, 1000};
int arabisch;


cout << "Bitte geben Sie eine Römische Zahl ein: ";
cin >> roemisch;

arabisch = 0;
for (int i = 0; roemisch[i]!='\0'; i++)
    for (int j = 0; j < 7; j++)
        if (roemisch[i] == roemischeZiffern[j])
           arabisch += ziffernWert[j];

cout << roemisch << " in roemischer Notation entspricht " <<
        arabisch << " in arabischer." << endl;

return 0;
}

Schleifen kommen in jeder Form der Programmierung wie gesagt extrem häufig vor; die mit weitem Abstand effektivste Form unserer Wandlung von römischen zu arabischen Zahlen besteht daher in der Verwendung einer weiteren, der ersten untergeordneten, oder „geschachtelten“ Schleife.