#include
#include
#include
#include
#include
using namespace std;
// Headers
string toString (double);
int toInt (string);
double toDouble (string);
int main() {
// Das Programm soll aus einer Sequenz von Zahlen die kleinste Zahl finden. Zu Beginn wird festgelegt, wie viele Zahlen eingeben werden soll und danach werden diese überprüft.
// Die Variable anzahl wird für die Anzahl der Zahlen, die eingegeben werden, deklariert.
int anzahl;
// Die Variable min steht für das Minimum, also hier für die aktuell kleinste Zahl.
int min;
// Die Variable zahl wird für die aktuelle betrachtete Zahl verwendet.
int zahl;
cout << "Wie viele Zahlen möchten Sie eingeben?" << endl;
cin >> anzahl;
cout << "Geben Sie eine Zahl an:" << endl;
cin >> zahl;
// Der Variable min wird der wert der ersten Zahl zugewiesen.
min = zahl;
// Der Wert der Variablen anzahl wird um eins vermindert.
anzahl = anzahl - 1;
do {
// Solange der Wert der Variablen anzahl größer als null ist, wird die folgende Fallunterscheidung durchgeführt.
if (anzahl > 0) {
// Ab hier werden die zweite und alle folgenden Zahlen abgefragt.
cout << "Geben Sie eine Zahl an" << endl;
cin >> zahl;
// In der Fallunterscheidung wird geprüft, ob die aktuelle Zahl kleiner als der Wert der Variablen min, dem aktuelle Minimum, ist. Falls ja, wird der Variablen min der Wert der Variablen zahl zugewiesen und das Minimum wird dadurch aktualisiert.
if (zahl < min) {
min = zahl;
}
}
anzahl = anzahl - 1;
// Nachdem die Variable anzahl um eins vermindert wurde, wird die Schleife so lange fortgesetzt, bis die Variable anzahl gleich null ist.
} while (anzahl > 0);
// Wenn die Variable anzahl den Wert null hat, wird die Schleife verlassen und dann wird der aktuelle Wert der Variable min als Minimum der Zahlensequenz ausgegeben.
cout << "Die kleinste eingegebene Zahl ist: " << min << endl;
return 0;
}
// Im Folgenden werden Funktionen zur Typumwandlung implementiert.
string toString (double value) { //int auch
stringstream temp;
temp << value;
return temp.str();
}
int toInt (string text) {
return atoi(text.c_str());
}
double toDouble (string text) {
return atof(text.c_str());
}