Unterprogramme???



  • Kann ich ein Unterprogramm so programmieren das es mir nicht nur einen wert zurück gibt sondern zum beispiel zwei variablen vertauscht??

    ich hab mir das so überlegt
    Kann mir BITTE wer sagen wie es richtig geht`?????

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    double swap (double a, double b)
    {
           double t;
           t=a;
           a=b;
           b=t;
    
    }
    
    int main(int argc, char *argv[])
    {
        double a,b;
    
        cout<<"Geben die die Variable a ein :"<<endl;
        cin>>a;
        cout<<" Geben sie Ihre Variable b ein"<<endl 
        cin>>b;
    
        swap (a,b);
    
        cout<<" Die neue Variable a="<<a<<endl;
        cout<<" Die neue Variable b="<<b<<endl;
    
        system("PAUSE");
        return EXIT_SUCCESS;
    
    }
    


  • Mit Referenzen ...

    Gruß,

    Simon2.



  • also mit Referenzen und wie geht das??

    ist das dießes & vor der variable??

    kann mir bitte jemand sagen was alles falsch is am oberen code?



  • double swap (double _a, double _b)
    {
    // Hier änderst du die Kopie, nicht aber das Original
    }

    ...

    swap (a, b); // Hier wird a in _a und b in _b KOPIERT

    Abhilfe:

    double swap (double**&** _a, double**&** _b)
    {
    // Hier änderst du das Original
    // Denn _a REPRÄSENTIERT nun a, selbes mit _b natürlich
    }



  • danke für die Hilfe war also doch nur ein kleiner Fehler 🙂



  • Sandra18 schrieb:

    also mit Referenzen und wie geht das??

    ist das dießes & vor der variable??...

    Japp.
    Sicher, dass Du das noch nie gesehen hast? 😉
    Sieht ein wenig nach einer Aufgabe aus, die Euch genau DAS beibringen soll...

    Gruß,

    Simon2.



  • Ansonsten, wenn es keine Aufgabe war und man das auch allgemeiner haben will:
    Die Standardbibliothek bietet die Templateversion dieser Funktion an, nämlich std::swap() im Header <algorithm> .


Anmelden zum Antworten