befehl if(i==2 || i==9 .... verkürzen
-
hi leute,
wie der titel schon sagt möchte ich in einer if schleife die anweisung verkürzen.
es sollte eig immer plus 7 gerechnet werden.
if(i==2 || i==9 || i==16 usw...)
habs mit so vieln sachen versucht aba nich hinbekommen.
bei ein paar tausend zahlen wär das in dieser^^ version ein "bisschen" nervig.
kann mir einer sagen wies geht?
-
if (!((i-2)%7))
-
ah okay danke. nur fällt mir noch auf das ich ein ende brauche. z.b wenn i == 23 ist.
kannst du mir mal den satz hinschreiben wie man diesen befehl wörtlich aussprechen würden, dann würde ich das besser verstehen.
-
Deine Anforderung war, 2 plus ein vielfaches von 7 ist gleich wahr. Also hab ich vom Wert die 2 abgezogen und geschaut, ob der Wert restlos durch 7 teilbar ist. Du müsstest das jetzt noch mit der Bedingung verknüpfen, dass i ungleich 23 ist. Ich denke aber du meintest eigentlich, dass i nicht über 23 wachsen darf, bzw die 23 erst gar nicht erreichen darf. Wie dann die Bedingung aussieht kannst du dir ja mal überlegen.
-
Paul Müller schrieb:
if (!((i-2)%7))
Besser:
if (i%7 == 2)
metapoint2011 schrieb:
ah okay danke. nur fällt mir noch auf das ich ein ende brauche. z.b wenn i == 23 ist.
if (i <= 23 && i%7 == 2)
?
kannst du mir mal den satz hinschreiben wie man diesen befehl wörtlich aussprechen würden, dann würde ich das besser verstehen.
"Falls i kleiner oder gleich 23 ist und wenn i geteilt durch 7 den Rest 2 lässt"
-
if(!((i-2)%7) && i<24)
so richtig?
-
achso okay ist ja shcon beantwortet, so müsste es dann aber auch gehen oder?
-
na gut.. funktioniert alles und habs auch verstanden
ich danke euch.
wieso bin ich da nicht selber drauf gekommen?