wie schreib ich das in c? eigentlich: if((i>1) || (i<5))... stimmt das so?
sorry vor 1<i<5 es soll true werden wenn die Bedingung nicht stimmt also i auserhalb des Bereiches liegt.
Marco wrote: > wie schreib ich das in c? eigentlich: > > > if((i>1) || (i<5))... > > > stimmt das so? || bedeutet: oder Jetzt setz einfach mal ein paar Zahlen ein und werte den Ausdruck aus. zb. für i gleich 0 i > 1 0 ist nicht größer als 1 i < 5 0 ist aber kleiner als 5 Das heist, der Ausdruck ( i > 1 oder i < 5 ) ergibt wahr, weil ja oder wiederrum heist, entweder das eine oder das andere muss wahr sein (oder sogar beides), damit der komplette Ausdruck wahr ist. Wenn du dir das genau übelegst, dann ist der Ausdruck i > 1 || i < 5 eigentlich für alle Zahlen wahr, denn irgendeiner der beiden Teilausdrücke ist immer wahr: Ziemlich viele Zahlen sind größer als 1 und diejenigen die nicht größer als 1 sind müssen sicherlich kleiner oder zumindest kleiner als 1 sein. Wenn sie aber kleiner als 1 sind, dann sind sie sicherlich auch kleiner als 5. -> Daher: Für jede Zahl gilt: Entweder sie ist größer als 1 oder aber sie ist kleiner als 5. Manche Zahlen (nämlich 2, 3 und 4) sind sogar beides: größer als 1 und kleiner als 5.
Marco wrote: > sorry vor 1<i<5 es soll true werden wenn die Bedingung nicht stimmt > also i auserhalb des Bereiches liegt. Welche Eigenschaften müssen daher diese Zahlen haben? i muss daher kleiner als 1 sein oder i muss größer als 5 sein
also ich habe eine zahl i wenn die auserhalb eines bereiches liegt soll es die variable x auf 1 setzen. ich dachte mir: if((i>1) || (i<5)) { x=1; }
Marco wrote: > also ich habe eine zahl i wenn die auserhalb eines bereiches liegt soll > es die variable x auf 1 setzen. ich dachte mir: > > > if((i>1) || (i<5)) { Nochmal: Probiere es mit Zahlen mal aus. Nimm an, dass i den Wert 2 habe. Was ergibt dann dein Ausdruck?
>also ich habe eine zahl i wenn die auserhalb eines bereiches liegt soll >es die variable x auf 1 setzen. ich dachte mir: >if((i>1) || (i<5)) { >x=1; >} Dann kannst Du gleich x=1 schreiben
Das Problem ist: Natürlich können dir hier 20 Leute die richtige Lösung schreiben. Aber du lernst mehr, wesentlich mehr, wenn du das selbst ausknobelst. Jeder, aber wirklich jeder, muss mindestens einmal in die Kombinationen aus Vergleichen und UND und ODER reinfallen, um das in Zukunft richtig zu machen. Es ist wirklich nicht schwer aber man muss es mindestens einmal selbst gemacht haben.
>> "1<i<5 " besagt aber i liege zwischen 1 und 5 also für integer 2;3;4 >>es soll true werden wenn die Bedingung nicht stimmt >> also i auserhalb des Bereiches liegt. wäre korrekt so zu formulieren (1>i) or (5<i) oder not((i<=1)and(I<=5)) daraus ergibt sich in C syntax (1>i)||(5<i) oder |((1<=i)&&(5>=i))
also so richtig blick ich da nicht durch ich möchte das für alle i nicht gleich 5,6,7,8,9,10 gilt x=1. Es müsste doch gehen setze x auf 1, wenn i<5 oder i>10. Das hatt cih doch schon im anfangsost. das müsste also doch richtig sein...
Beispiele: 4<5-->1 4>10-->0 = 1 Or 0 = 1-->x=1 11<5-->0 11>10--> = 0 OR 1 = 1-->x=1 7<5-->0 7>10 = 0 OR 0 = 0
Marco wrote: > also so richtig blick ich da nicht durch ich möchte das für alle i nicht > gleich 5,6,7,8,9,10 gilt x=1. > > Es müsste doch gehen setze x auf 1, wenn i<5 oder i>10. Das hatt cih > doch schon im anfangsost. Nein das hattest du nicht. Lies nochmal nach. Von 10 war dort überhaupt keine Rede sondern von 1 > das müsste also doch richtig sein... Ist es auch
1 | if( i < 5 || i > 10 ) |
2 | x = 1; |
3 | else
|
4 | x = 0; |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.