For Schleife in einer anderen For Schleife?

4 Antworten

Ich habe keine Ahnung, in welcher Programmiersprache du es schreiben willst. Aber das Prinzip lässt sich an einer FORTRAN-orientierten Schleifentechnik gut klarmachen.
NEXT bedeutet, die gerade laufende Schleife wird wiederholt. (Das Programm springt dann zum FOR wieder hinauf.)

PRINT "KLEINES 1 X 1"
PRINT SPACES
FOR I = 1 TO 10
  FOR J = 1 TO 10
    PRINT J  " * "  I  " = "  I * J
    J = J + 1
    IF (J < 11) NEXT J
  I = I + 1
  PRINT SPACES
IF (I < 11) NEXT I
END

Jetzt mach mal das, was wir früher immer einen "Schreibtischtest" genannt haben, bevor jeder von seinem Terminal aus die Hauptanlage malträtieren durfte.

Woher ich das weiß:eigene Erfahrung – Unterricht - ohne Schulbetrieb
MOV R0, 1
for0:
MOV R1, 1
for1:
MOV R2, R0
MUL R2, R1
;TODO: Ausgabe von R0 (Multiplikator) R1 (Multiplikand) und R2 (Produkt)
INC R1
CMP R1, 10
JG end1
JMP for1
end1:
INC R0
CMP R0, 10
JG end0
JMP for0
end0:

Sprache: Pseudocode Assembler ;)

In der ersten for-Schleife gehst du die Multiplikatoren durch, in der zweiten die Multiplikanden.

Versuche es bitte erst selbst und gucke dir dann meine Lösung an.










Hier ist die Lösung zur Aufgabe:

for(int i=1; i<=10; i++){

   for(int j=1; j<=10; j++){

       System.out.printf("%dx%d=%d%n", i, j, i*j);

   }

}

Ausgabe:

1x1=1
1x2=2
1x3=3
1x4=4
1x5=5
1x6=6
1x7=7
1x8=8
1x9=9
1x10=10
2x1=2
2x2=4
2x3=6
2x4=8
2x5=10
2x6=12
2x7=14
2x8=16
2x9=18
2x10=20
3x1=3
3x2=6
3x3=9
3x4=12
3x5=15
3x6=18
3x7=21
3x8=24
3x9=27
3x10=30
4x1=4
4x2=8
4x3=12
4x4=16
4x5=20
4x6=24
4x7=28
4x8=32
4x9=36
4x10=40
5x1=5
5x2=10
5x3=15
5x4=20
5x5=25
5x6=30
5x7=35
5x8=40
5x9=45
5x10=50
6x1=6
6x2=12
6x3=18
6x4=24
6x5=30
6x6=36
6x7=42
6x8=48
6x9=54
6x10=60
7x1=7
7x2=14
7x3=21
7x4=28
7x5=35
7x6=42
7x7=49
7x8=56
7x9=63
7x10=70
8x1=8
8x2=16
8x3=24
8x4=32
8x5=40
8x6=48
8x7=56
8x8=64
8x9=72
8x10=80
9x1=9
9x2=18
9x3=27
9x4=36
9x5=45
9x6=54
9x7=63
9x8=72
9x9=81
9x10=90
10x1=10
10x2=20
10x3=30
10x4=40
10x5=50
10x6=60
10x7=70
10x8=80
10x9=90
10x10=100

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach. 

LG Willibergi 

Woher ich das weiß:Berufserfahrung – Software-Entwicklung