#include 
#include 
#include 
#include 
#include 

using namespace std;

// Headers
string toString (double);
int toInt (string);
double toDouble (string);

int main() {
    // In diesem Programm werden zwei Zahlen miteinander vertauscht, ohne dass eine dritte Variable benötigt wird. Das bedeutet, es wird auch keine temporäre Hilfsvariable benötigt.
    // Zu Beginn werden die zwei Variablen a und b deklariert, die dazu dienen, die Werte der zwei Zahlen, welche vertauscht werden sollen, zu speichern.
    int a;
    int b;
    
    cout << "Geben Sie die erste Zahl ein: " << endl;
    cin >> a;
    cout << "Geben Sie die zweite Zahl ein: " << endl;
    cin >> b;
    cout << "Die Zahlen werden nun vertauscht" << endl;
    
    // Im ersten Schritt wird in der Variable a der Wert der Summe von a und b gespeichert. Also a = a + b.
    a = a + b;
    
    // Vor dem zweiten Schritt ist der Wert der Summe von a und b, und der Wert von b bekannt. Mit diesen zwei Werten lässt sich auch der Wert von a berechnen, da a = (a + b) - b ist. Der Wert von a lässt sich nun der Variablen b zuweisen, in der Form b = a - b, was bedeutet b = (a + b) - b = a
    b = a - b;
    
    // Da in der Variablen a noch immer die Summe aus a und b (a + b) anstelle von b steht, muss die Summe um a vermindert werden.
    // Aufgrund des zweiten Schrittes steht der Wert von a in der Variablen b. Das weitere Vorgehen ist analog zum zweiten Schritt. Und es ist a = a - b = (a + b) - a = b.
    a = a - b;
    cout << "Die neue erste Zahl ist jetzt: " << a << endl;
    cout << "Die neue zweite Zahl ist jetzt: " << b << 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());
}
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz