Array?
for (int i=0; i < 5; i++)
for (int j=(i+1); j < 6; j++)
Könnte mir bitte jemand erklären, was „j=(i+1)“ bedeutet?
3 Antworten
Es bedeutet: Die 2. Schleife beginnt mit dem Wert i+1.
Die Werte werden wie folgt durchlaufen:
i=0
j=1
j=2
j=3
j=4
j=5
i=1
j=2
j=3
j=4
j=5
i=2
j=3
j=4
j=5
i=3
j=4
j=5
i=4
j=5
der erste wert ist der startwert. die schleife läuft so lange bis der zweite wert erreicht ist. bei schleife 1 solange i kleiner als 5 ist, bei der zweiten solange j kleiner als 6 ist.
wenn die erste schleife losläuft ist i = 0, die zweite is vermutlich in der ersten also wird j dann auf 0+1 (=1) gesetzt. beim zweiten durchlauf is j beim start dann 2 (weil i1 ist und 1 +1 =2).
die zweite schleife läuft also bei jedem durchlauf (von i) 1x weniger
Kannst auch i++ oder ++i schreiben das Präinkrement ist auf klassischen Architekturen um eine Instruction schneller
for (int j=(i+1); j < 6; j++){...}
ist gleichwertig mit
{
int j=i+1;
while(j<6){
...
j++;
}
}
... oder was genau ist Dein Problem?