ich hätte eine frage...



  • ich habe diese aufgabe und ich habe gelöst aber ich glaube das es ist nicht richtig
    kann jemand sehn ob richtig ist oder nicht?

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    /* Schreiben Sie ein Programm, das
    den Inhalt dreier Variablen vertauscht.
    Die erste Variable soll vom Typ double sein und den Wert 5.6 haben.
    Die zweite Variable ist vom Typ int und hat den Wert 7,
    und die dritte ist vom Typ float und hat den Wert 3.456.
    Benutzen Sie zum Tauschen eine Hilfsvariable des Typs double.
    Nach dem Tausch soll der Inhalt der dritten Variable in der
    ersten stehen, der Inhalt der zweiten in der dritten und der Inhalt
    der ersten in der zweiten. Was beobachten Sie? */

    double db = 5.6;
    int in = 7;
    float fl = 3.456;//
    double db1 = fl , db2 = in , db3 = db ;
    cout << " db1: " << db1 << "db2: " << db2 << " db3: " << db3 << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }
    mfg toni
    ich wäre dankbar für jede antwort



  • ich denke du solltest schon das tun was in der Aufgabe steht ^^.
    Also die Variablen tauschen.



  • dh ist falsch?



  • zum "richtigen" Vertauschen musste nachher den Inhalt von db1 in db kopieren, von db2 in in ...



  • kannst du mir vieleicht helfen weil ich verstehe diese nicht
    bitte.

    mfg toni



  • ja, ist falsch.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    double db = 5.6;
    int in = 7;
    float fl = 3.456;//
    double hilf;
     hilf = db; // 1 sichern
     db=fl;// 3 in 1
     fl =in; // 2 in 3
     in=hilf; // 1 in 2
    cout << " db: " << db << "in: " << in << " fl: " << fl << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    

    ist richtig. ( glaube ich wenigstens 🙂 )



  • ich habe keine andere idde
    kann jemand etwas sagen bitte



  • ich habe ein bsp die leutet so
    #include <iostream>
    using namespace std;

    int main() {
    double db = 12.45;
    int in = 0;
    bool bo1 = db, bo2 = in;
    cout << "bo1: " << bo1 << " bo2: " << bo2 << endl;
    return 0;
    }

    und deine lösung ist nicht in diese model.
    kannst du mier den unterschied erklären bitte



  • bedingt richtig denke ich, es sollten alle Variablen vorher in hilf gespeichert werden und dann zurückgeschrieben werden um alles richtig feststellen zu können was es festzustellen gibt, bei einer konstallation könnte das afaik noch was verändern.



  • toni733 schrieb:

    ich habe ein bsp die leutet so

    #include <iostream>
    using namespace std;
    
    int main() {
        double db = 12.45; 
        int in = 0; 
        bool bo1 = db, bo2 = in; 
        cout << "bo1: " << bo1 << " bo2: " << bo2 << endl;
        return 0;
    }
    

    und deine lösung ist nicht in diese model.
    kannst du mier den unterschied erklären bitte

    das ist laut der aufgabenstellung definitiv falsch.. der typ bool unterstützt nur false und true..außerdem tauscht du keine variablen sondern belegst nur welche neu, solltest aber hier einen compilerfehler erhalten(wenn nicht, wird alles > 0 als true interpretiert)..

    ich würde es so wie kermit lösen und zwar durch zwischenspeichern einer variable.. jedoch funktioniert es glaube ich nicht, da es zu einem kovertierungsfehler kommen sollte..deswegen hier mal nen etwas abgeändertes programm..

    #include <iostream>
    
    int main()
    {
    double db = 5.6;
    int in = 7;
    float fl = 3.456;
    double hilf = db; // db sichern
     db = static_cast<double>(fl); //float nach double konvertieren 
     fl = static_cast<float>(in); // int nach float
     in = static_cast<int>(hilf); // double nach int
    std::cout << " db: " << db << "in: " << in << " fl: " << fl << std::endl;
    
    std::cin.get();
    return 0;
    }
    

    mfg



  • er soll doch einfach nur sagen, was er beobachtet.

    und? was beobachtest du, toni 733, wenn du den tausch vollziehst von double nach int etc...?


Anmelden zum Antworten