problem mit boolscher logik^^



  • Noch Fragen?

    Was kostet einmal nageln?



  • keine fragen an die zeugen 🙂

    vielen dank euch allen und ( irgendwann xD) ne gute nacht

    //edit doch noch ne frage an simon2:

    wie funktioniert das denn mit den |= ( oderistgleich? )? könntest du das vllt nochmal kommentiert posten? 🙂



  • just-another-programmer schrieb:

    ...
    wie funktioniert das denn mit den |= ( oderistgleich? )? könntest du das vllt nochmal kommentiert posten? 🙂

    "a |= b;" ist dassselbe wie "a = a | b;"
    Ist für viele Operatoren so definiert :
    +=, -=, ~=, &=, .....

    Gruß,

    Simon2.



  • alles klar, danke nochmal.

    jetz isses geklärt und muss nur noch umgesetzt werden. mal sehn ob ich nochma hilfe brauch 🙂



  • dust schrieb:

    ...Und um zu prüfen, ob es sich nur um Konsonanten handelt ...

    ... nimmt man ebenfalls einfach Gottgegebenes:

    string vokale = "aeiouAEIOU";
    
    string s;
    if(s.find_first_of(vokale) == string::npos) {
       cout << "kein Vokal drin\n";
    }
    

    Gruß,

    Simon2.



  • Ahja, genau, es ist natürlich besser zu schauen, ob es sich nicht um einen Vokal handelt als zu prüfen, ob es sich um ein Konsonant handelt, extra 'nen String würd ich dazu aber nicht anlegen. Geschmackssache ..



  • dust schrieb:

    ...extra 'nen String würd ich dazu aber nicht anlegen. Geschmackssache ..

    Ich auch nicht (jedenfalls nicht, wenn ich den nicht noch für was Anderes verwenden müsste) ... war mehr zur Demonstration gedacht, wie man strings anlegen kann.
    (hätte natürlich auch const sein müssen 😉 )

    Gruß,

    Simon2.



  • jetzt habe ich die ganzen sachen eh schon gelöst. die diskussionen sind also insofern sinnlos als das ich es nicht mehr verwenden werde 😉



  • @just-another-programmer, ein Wort noch zu sowas:

    if(zeichenKette[0] == zeichenKette[1] == 'q') ...
    

    Sowas funktioniert nicht, da muss man einzeln abfragen, also if (zeichenKette[0]=='q' && zeichenKette[1]=='q') . Ich weiß grad nicht, ob der Operator '==' rechts- oder linksrum ausgewertet wird, aber je nachdem würde aus

    if ( bla[0] == bla[1] == 'q' )
    

    halt

    if ( (bla[0] == bla[1]) == 'q' )
    

    oder

    if ( bla[0] == (bla[1] == 'q') )
    

    werden. Das ist insofern schlecht, als dass der Operator == für Integer einen bool-Wert zurückgibt. Dann würde ein Zeichen mit 'true'/'false' verglichen werden, was bestimmt nicht das gewünschte Ergebnis bringt 😉



  • dankedanke 🙂
    ist wie gesagt alles schon umgangen und funktioniert jetzt einwandfrei 🙂

    (mit funktionen, die bools zurückgeben 😛 in den ifs steht nur noch drin, was verglichen wird ➡ ich habe nur noch bools^^)



  • just-another-programmer schrieb:

    hallo.

    ich möchte eine silbenliste erstellen und dabei auch einige bedingungen beachten lassen. bisher sieht das bei mir so aus:

    //a b und c sind chars, die in schleifen von ascii 97(a) bis 122 (z) "durchzählen"
    if(a == 97 || a == 101 || a == 105 || a == 111 ||
            a == 117 || a == 121 || b == 97 || b == 101 ||
    	b == 105 || b == 111 || b == 117 || b == 121||
    	c == 97 || c ==101 || c == 105 || c == 111 ||
    	c == 117 || c == 121 || !(a == 106 && b ==106)
    	|| !(b == 106 && c == 106) || !(a == 113 && b == 113)
    	|| !(b == 113 && c == 113) || !(a==b && b==c && b==a)) {
    //...schreiben
    }
    

    ich habe aber bemerkt, dass oder hier fehl am platze ist. denn wenn nur eine der bedingungen richtig ist ( also zum beispiel, dass ein q drin ist), dann ist ja gleich der ganze ausdruck wahr und wird geschrieben in meine datei.
    welchen logischen operator könnte ich denn hier besser verwenden, oder wie sollte ich das anders lösen, dass es funktioniert?

    (die bedingungen mit den einzelnen sachen sind mir auch nicht ganz geheuer, sie sollen EIGENTLICH dafür sorgen, dass keine q und j dopplungen auftreten)

    viele grüße


Anmelden zum Antworten