Zahlen Problem hält das ganze Projekt auf :(



  • Meine Freunde und ich (fortgeschrittene Anfänger 😃 ) versuchen
    ein Programm zu schreiben, dass Kurvendiskussion Aufgabe lösen kann.

    Um es etwas "Kundenfreundlich" zu gestalten haben wir uns ein paar Tricks einfallen lassen.^^

    Leider können wir es nicht umsetzen, da wir vor ein großes Hindernis stehen:

    Wenn man beliebige Zahlen eintippt, z.B: 2 4 5 8 9 6 7, sollte man diese mit Hilfe von 2 Editfelder vertauschen können.

    Also in Edit1 gibt man 1 ein und in Edit2 gibt man 3 ein (Also die Postionen). So werden die Zahlen 2 und 5 vertauscht.

    Wie kann ich das Problem beheben ??
    (Wir haben schon mal herausgefunden, dass es mit Array klappt. mehr net^^)

    Lg
    Flo



  • das ist kein problem was direkt mit C++ zu tun hat...

    wie wärs mit nem dreieckstausch
    der funktioniert so dass du dir zahl a in einer hilfsvariable speicherst und zahl a dann mit zahl b überschreibst, schließlich schreibst du deine gespeicherte zahl in b

    zahl a und zahl b sind gegeben,
    zahl temp = a;
    a = b;
    b = temp;
    

    oder wenn ihr c++ benutzt std::swap...



  • Skym0sh0 schrieb:

    das ist kein problem was direkt mit C++ zu tun hat...

    wie wärs mit nem dreieckstausch
    der funktioniert so dass du dir zahl a in einer hilfsvariable speicherst und zahl a dann mit zahl b überschreibst, schließlich schreibst du deine gespeicherte zahl in b

    zahl a und zahl b sind gegeben,
    zahl temp = a;
    a = b;
    b = temp;
    

    oder wenn ihr c++ benutzt std::swap...

    ja wir benutzen C++. Swap...habe ich schonmal gehört, wie kann ich es mit in Verbindung mit Arrays erstellen ?

    Also der Dreieckstausch ist aber auch ne lösung^^



  • naja swap ist eine template funktion aus der stl

    int a = 5;
    int b = 10;
    std::swap(a, b);
    // ===> a = 10, b = 5
    
    int a[] = {1,2,3,4,5};
    std::swap(a[2], a[4]);
    // ===> a = {1,2,5,4,3}
    


  • Skym0sh0 schrieb:

    naja swap ist eine template funktion aus der stl

    int a = 5;
    int b = 10;
    std::swap(a, b);
    // ===> a = 10, b = 5
    
    int a[] = {1,2,3,4,5};
    std::swap(a[2], a[4]);
    // ===> a = {1,2,5,4,3}
    

    Super vielen dank 🙂



  • Falls du std::swap nicht nutzen darfst, kannst du dir die Funktion auch selber schreiben:

    template<typename T>
    void MySwap(T& a, T& b)
    {
    	const T x = a;
    	a = b;
    	b = x;
    }
    

Anmelden zum Antworten