Entwickler-Ecke
Basistechnologien - Schleife bei bestimmten Zahlen durchführen
0odarkio0 - Fr 01.07.11 18:22
Titel: Schleife bei bestimmten Zahlen durchführen
Hallo :)
ich würde gerne bei den zahlen 2,5,8,11 usw also immer die zahl +3 eine if abfrage durchführen lassen
wie kann ich die If abfrage ohne variable die immer +3 rechnet schreiben und ist dies überhaupt möglich?
Moderiert von
Christian S.: Topic aus WinForms verschoben am Fr 01.07.2011 um 19:15
Christian S. - Fr 01.07.11 18:55
Ich habe kein Wort verstanden. Versetz Dich mal in jemanden rein, der nur Deinen Text hat, um zu verstehen, was Du meinst, und schreib ihn nochmal ;-)
0odarkio0 - Fr 01.07.11 19:04
hmm sorry ich versuch nochmal zu erklären :
also es gibt eine Variable: "Zahlen"
wenn die Variable "Zahlen" den Wert 2,5,8,11 hat soll eine schleife durchlaufen werden. also z.B
C#-Quelltext
1: 2:
| if (Zahlen == 2) { MessageBox.Show("a");} |
C#-Quelltext
1: 2:
| if (Zahlen == 5) { MessageBox.Show("a");} |
C#-Quelltext
1: 2:
| if (Zahlen == 8) { MessageBox.Show("a");} |
C#-Quelltext
1: 2:
| if (Zahlen == 11) { MessageBox.Show("a");} |
aber das wären 4 if abfragen bis zur 11 ... ich möchte aber gerne nur eine die immer aufgerufen wird wenn die Variable "Zahlen" den Wert 2 oder 5 oder 8 oder 11 hat.
Ist das möglich?
Christian S. - Fr 01.07.11 19:14
Ah, okay. Also erst einmal ein paar Begriffsklärungen:
Es gibt keine "if-Schleifen", sondern nur "if-Abfragen". Das, was in der "if-Abfrage" geprüft wird, ist die "Bedingung". Ist die Bedingung wahr, wird eine oder mehrere Anweisungen ausgeführt. Schleifen kommen hier also gar nicht vor ;-)
Deine Bedingung kannst Du mit ein bisschen Mathematik ziemlich einfach gestalten. Deine Bedingung ist dann wahr, wenn Deine Zahl als 2 + n * 3 darstellbar ist, wobei n eine ganze Zahl ist. Anders ausgedrückt: (zahl - 2) muss glatt durch 3 teilbar sein.
Dazu benutzt man am Besten die Modulo-Operation, welche einem den Rest einer Division ausgibt. Die Operation wird durch "%" durchgeführt: 5 % 2 wäre z.B. 1, weil fünf geteilt durch zwei als Rest eins hat.
Du musst jetzt also nur noch prüfen, ob der Rest von (zahl-2) durch 3 Null ist.
Eudaimonie - Mo 04.07.11 10:36
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| for(int i = 0; i < 50; i++) { if (i % 3 == 0) { Console.WriteLine(i + " ist durch 3 teilbar"); } } |
Moderiert von
Th69: C#-Tags hinzugefügt
ujr - Mo 04.07.11 15:10
Falls die Schleife sonst nichts tun soll, böte sich auch
C#-Quelltext
1: 2: 3: 4:
| for (int i=2; i<11; i+=3) { } |
an.
Christian S. hat folgendes geschrieben : |
Du musst jetzt also nur noch prüfen, ob der Rest von (zahl-2) durch 3 Null ist. |
Oder ob zahl%3==2 ist.
Eudaimonie - Di 05.07.11 10:58
@ujr
zahl%3==2 heisst aber, dass die Zahl dann nicht Durch 3 teilbar ist, sondern durch 3 geteilt wird und eine Rest von 2 haben muss.
Kha - Di 05.07.11 13:04
Eudaimonie hat folgendes geschrieben : |
zahl%3==2 heisst aber, dass die Zahl dann nicht Durch 3 teilbar ist, sondern durch 3 geteilt wird und eine Rest von 2 haben muss. |
Was auf die Zahlenfolge des Threaderstellers zutrifft...
Eudaimonie - Di 05.07.11 13:39
Jap, stimmt. Man sollte sich den Thread halt nochmals durchlesen, und nicht nur versuchen, sich an etwas zu erinnern, was man 1-2 Tage zuvor gelesen hat ^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!