also .. ich hab noch nicht ganz verstanden, was du noch nicht genau verstehst ... du sagst, du kannst mit schleifen umgehen, und du sagst du kannst mit arrays umgehen .. nun ja .. im prinzip ist der code ja nix anderes, als die anwendung des ganzen.
schleifen schachteln heisst nichts anderes, als eine schleife in eine andere schleife zu packen. Ich erlaeutere das ganze vielleicht nochmal in pseudocode ...
Zur Erklaehrung:
Die I-Schleife wird insgesamt 7 mal durchlaufen (0 bis 6).
Im ersten Durchlauf ist I=0. Daher wird die J-Schleife von 0 bis 0, also einmal mit J=0 durchlaufen, und somit einmal (J+1), also 1 ausgegeben.
Der 1 folgt nun die Ausgabe eines Leerzeichens.
Nun wird die K-Schleife abgearbeitet. Diese lauft von K=0 bis K=(6-I). Da immernoch I=0 ist, wird die K-Schleife von K=0 bis K=6 durchlaufen, also 7 mal. Da Arrays im allgemeinen Null-Indexiert sind, ihr erstes Element also den Index 0 hat, wird beim ersten Durchlauf der K-Schleife A[0] ausgegeben. Das 0te Element des Arrays ist "A". Im zweiten Durchlauf der K-Schleife ist K=1, also wird "B" ausgegeben. Dies geht solange weiter, bis K=6 ist und "G" ausgegeben wurde.
Als letztes wird einfach die Ausgabe der ersten Zeile mit einem Zeilenprung beendet. Somit sieht man auf dem Bildschirm
1 ABCDEFG
Damit ist die I-Schleife das erste mal Abgearbeitet. Nun folgt der zweite Durchgang. Hierbei gilt I=1.
Die J-Schleife wird wieder von J=0 bis I abgearbeitet, also 2 mal, einmal fuer J=0 und einmal fuer J=1. Deshalb stehen jetzt die Zahlen 1 und 2 nebeneinander (da es ja in der Ausgabe hiess J+1).
Nach dem Leerzeichen wird wieder die K-Schleife von K=0 bis 6-I abgearbeitet, also von 0 bis 5. Deshalb wird sie einmal weniger ausgefuehrt, als beim ersten mal. Nach Beendigung des zweiten Durchlaufs der I-Schleife erhalten wir somit
12 ABCDEF
Dieser Vorgang wiederholt sich solange, bis die I-Schleife mit I=6 durchlaufen wurde. Jedesmal wird die J-Schleife um eins laenger und die K-Schleife um einen Durchlauf kuerzer.
Dadurch, dass du die Schleifen ineinander geschachtelt hast, erhaelst du somit die gewuenschte Ausgabe
1 ABCDEFG
12 ABCDEF
123 ABCDE
1234 ABCD
12345 ABC
123456 AB
1234567 A
In C++ (und in Java sollte das Ganze im prinzip genau so aussehen) wollten die Schleifen in etwa so lauten:
Den Bereich mit den Sortieralgorithmen ueberlasse ich vorerst mal anderen ^^