wie kann ich 3 Zahlen ohne Verwendung von logischen Operatoren sortigen???? auf C++



  • wie kann ich 3 Zahlen ohne Verwendung von logischen Operatoren sortigen auf C++



  • Spontan würde ich sagen "std::min/max" aus <algorithm>. Wenns wirklich komplett ohne sein soll, schau dir mal das hier an:

    int x; // we want to find the minimum of x and y
    int y;
    int r; // the result goes here

    r = y ^ ((x ^ y) & -(x < y)); // min(x, y)

    To find the maximum, use:
    r = x ^ ((x ^ y) & -(x < y)); // max(x, y)

    Quelle: http://graphics.stanford.edu/~seander/bithacks.html#IntegerMinOrMax
    Auch wenn davon natülic abzuraten ist 🙂
    Die entsprechende Funktion kannste dann 3 mal aufrufen und schon haste deine zahlen "sortiert".



  • Edit: meinst du mit logischen Operatoren logisches Oder und Und (||, &&)?



  • Ich habe so das Gefühl, als würden wir hier wieder eine Anfängerübung für den Fragesteller lösen müssen.

    Gib dir wenigstens mehr Mühe bei der Formulierung deiner Anfrage.

    @asdfasd ^ ist ein logischer Operator.



  • Kendo schrieb:

    wie kann ich 3 Zahlen ohne Verwendung von logischen Operatoren sortigen auf C++

    Um mal eine Antwort zu geben, die in etwa so sinnvoll, ausführlich und leserfreundlich ist wie deine und der Mühe gerecht wird, die du dir bei der Fragestellung und dem vorherigen Versuch der Problemlösung scheinbar gegeben hast:

    Indem du sie ganz normal sortierst, halt nur eben ohne logische Poeratroen.


Anmelden zum Antworten