Autor Beitrag
0odarkio0
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Fr 01.07.11 18:22 
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 user profile iconChristian S.: Topic aus WinForms verschoben am Fr 01.07.2011 um 19:15
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
0odarkio0 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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
ausblenden C#-Quelltext
1:
2:
if (Zahlen == 2)
{ MessageBox.Show("a");}

ausblenden C#-Quelltext
1:
2:
if (Zahlen == 5)
{ MessageBox.Show("a");}

ausblenden C#-Quelltext
1:
2:
if (Zahlen == 8)
{ MessageBox.Show("a");}

ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: 0odarkio0
Eudaimonie
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 04.07.11 10:36 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
for(int i = 0; i < 50; i++)
{
   if (i % 3 == 0)  // i geteilt durch 3 muss Rest 0 haben.
   {
      Console.WriteLine(i + " ist durch 3 teilbar");
   }
}


Moderiert von user profile iconTh69: C#-Tags hinzugefügt
ujr
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 102
Erhaltene Danke: 12



BeitragVerfasst: Mo 04.07.11 15:10 
Falls die Schleife sonst nichts tun soll, böte sich auch

ausblenden C#-Quelltext
1:
2:
3:
4:
for (int i=2; i<11; i+=3)
{
  // 
}


an.

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
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
Hält's aus hier
Beiträge: 14



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 05.07.11 13:04 
user profile iconEudaimonie hat folgendes geschrieben Zum zitierten Posting springen:
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
Hält's aus hier
Beiträge: 14



BeitragVerfasst: 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 ^^