Boolesche Algebra



  • Hallo,

    stehe auf dem Schlauch!
    Ich möchte abfragen, wenn es nicht die gleiche strasse und gleiche plz ist.
    Also mache die Anweisung nur, wenn strasse1 verschieden von strasse2 und plz1
    verschieden von plz2.
    Was ist an s.u. falsch?

    if (!( strcmp(strasse1, strasse2)==0 || strcmp(plz1, plz2)==0)) { 
    
    }
    

    Ich hab meine Probleme mit der Negation und Boolsche Ausdrücke.
    Also erstmal ohne Negation, alle mit gleicher plz und gleicher Strasse.

    if( strcmp(strasse1, strasse2)==0 && strcmp(plz1, plz2)==0))
    

    müsste nach meinem Verständnis z.B. Hochstrasse, Hochstrasse , 10001,10001 wahr sein. Für Hochstrasse, Hochstrasse , 10001,14199 nicht.

    Dann wird durch die Negation aus && ein ||.

    Stimmt das so?

    schon mal vielen Dank!



  • Dann wird durch die Negation aus && ein ||.

    Die "Eingänge" müssen auch negiert werden.
    Hier z.B. durch strcmp(.., ..) != 0

    Gruss Simon



  • Oh ja klar!
    vielen Dank!!



  • falsches forum übrigens. ansi c ist nebenan.



  • Es gilt

    !(a && b) = !a || !b
    

    und

    !(a || b) = !a && !b
    

    .



  • hinweisschild schrieb:

    falsches forum übrigens. ansi c ist nebenan.

    Obwohl er die str... -Funktionen nutzt, kann er auch sehr wohl in C++ programmieren.

    DeMorgan schrieb:

    Es gilt

    !(a && b) = !a || !b
    

    und

    !(a || b) = !a && !b
    

    .

    Wenn schon, dann == 😉


Log in to reply