Das Kleine Einmaleins in C++
In der Programmiersprache C++ lässt sich das Kleine Einmaleins leicht und einfach durch Kombination zweier for-Schleifen generieren:
#include <iostream>
using namespace std;
void main() {
cout << endl;
for (int aussen = 1; aussen <= 10; aussen++) {
for (int innen = 1; innen <= 10; innen++) {
cout << aussen * innen << "\t";
}
cout << endl;
}
}
Die for-Schleife
Eine for-Schleife dient dazu, Anweisungen wiederholt auszuführen und besteht in ihrer klassischen Form aus drei Teilen: der Initialisierung, der Abbruchbedingung und der Veränderung der Schleifenvariable. Der Schleifenrumpf befindet sich zwischen geschweiften Klammern und bestimmt die Arbeitsweise der Schleife:
for (Initialisierung; Abbruchbedingung; Veränderung) {
Schleifenrumpf
}
Der folgende Beispeilquelltext definiert eine for-Schleife, die mit der ganzzahligen (int) Variable „zaehler“ arbeitet und die Zahlen von 1 bis 23 untereinander ausgibt:
for (int zaehler = 1; zaehler <= 23; zaehler++) {
cout << zaehler << endl;
}
Bei der Schleife wird mit
int zaehler = 1;
zuerst die Schleifenvariable deklariert und mit dem ganzzahligen Wert 1 initialisiert. Weil der in „zaehler“ gespeicherte Wert 1 nun kleiner gleich 23 ist („zaehler <= 23“), beginnt die Schleife ihren ersten Lauf und gibt mit der Anweisung
cout << zaehler << endl;
den aktuellen Wert der Schleifenvariable „zaehler“, gefolgt von einem Zeilenumbruch („endl“, für „end line“) aus. Nachdem die Schleife nun ihren ersten Lauf absolviert hat, wird durch die Inkrementierungsanweisung
zaehler++
der Wert von „zaehler“ um 1 erhöht. Die Kurzschreibweise „zaehler++“ ist äquivalent zu:
zaehler = zaehler + 1;
zaehler += 1;
Im zweiten Lauf der Schleife hat die Variable „zaehler“ nun den Wert 2. Weil 2 noch immer kleiner gleich 23 ist, läuft die Schleife eine weiteres, weiteres, weiteres, weiteres (…) und weiteres mal. Hat die Schleifenvariable „zaehler“ mit 24 endlich einen ganzzahligen Wert erreicht, der der Schleifenbedingung widerspricht, beendet die Schleife ihre Arbeit und nachfolgende Anweisungen werden ausgeführt.
Verschachtelte for-Schleifen
Verschachtelte for-Schleifen mögen vielleicht ungewohnt sein, sind der Implementation des Kleinen Einmaleins äußerst dienlich. Um die Arbeitsweise der kombinierten Schleifen zu verstehen, empfiehlt es sich, zunächst die Werte der beiden Schleifenvariablen zu jedem Schleifenlauf auszugeben. Der folgende Quelltext zeigt, wie’s funktioniert:
#include <iostream>
using namespace std;
void main() {
cout << endl;
for (int aussen = 1; aussen <= 10; aussen++) {
cout << "Die Variable \"aussen\" hat den Wert: " << aussen << endl;
for (int innen = 1; innen <= 10; innen++) {
cout << "\t" << "innen: " << innen << endl;
}
cout << endl;
}
}
Generiert wird mit obenstehender Anwendung die folgende Ausgabe:
Hier veranschaulicht sich die Funktionsweise der kombinierten Schleifen: Die äußere Schleife deklariert und initialisiert zuerst ihre Zählvariable „aussen“ mit dem Wert 1. Anschließend wird geprüft, ob die Schleifenbedingung erfüllt ist. Weil 1 kleiner gleich 10 ist („aussen <= 10“), beginnt die äußere Schleife ihren ersten Lauf und gibt den Wert der Schleifenvariable aus:
for (int aussen = 1; aussen <= 10; aussen++) {
cout << "Die Variable \"aussen\" hat den Wert: " << aussen << endl;
Anschließend startet die innere Schleife mit der Initialisierung der Schleifenvariable „innen“ und führt die im Schleifenrumpf befindliche Anweisung
cout << "\t" << "innen: " << innen << endl;
zehnmal aus. Nachdem die innere Schleife ihre Arbeit beendet hat, wird der Wert der Variable „aussen“ inkrementiert und das Procedere beginnt von Vorne.