# Einzelne Schritte bei Zweidimensionalen Arrays ausgeben



## cdg (27. Nov 2015)

Hallo zusammen,

Ich habe folgendes Problem:
Wir sollen als Hausaufgabe eine Methode schreiben, wo ein Array durch Selectionsort sortiert wird und jeder einzelne Schritt ausgegeben werden soll:
Zum Beispiel für das Array:  `35, 7, 63, 42, 24, 21`
Soll die Ausgabe so aussehen:

```
[  7  35  63  42  24  21  ]
[  7  21  63  42  24  35  ]
[  7  21  24  42  63  35  ]
[  7  21  24  35  63  42  ]
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
```
Dazu habe ich folgenden Quelltext implementiert:

```
public static int[][] selctionsort(int[] a) {
    if (a == null){
     return null;
  }
    if (a.length == 0){
       int[][] leer = new int[5][5];
       return leer;
    }
    int[][] ergebnis = new int[a.length][a.length];
    for(int i = 0; i < a.length; i++){
       findeMinUndTausche(a, i);
       ergebnis[i] = a;
       
    }
    return ergebnis;
   }
   
   public static void findeMinUndTausche(int[] p, int z) {
     int min = p[z];
     for (int i = z; i < p.length; i++){
       if(p[i] < min){
         min = p[i];
       }   
     }
     for (int j = 0; j < p.length; j++){
       if(p[j]==min){
         int hilfs = p[z]; 
         p[z] = p[j];
         p[j] = hilfs;
       } 
     } 
   } 
}
```
mit der vorgegebenen Main-Methode:

```
public static void main(String[] args) {
     int[] a = new int[] { 35, 7, 63, 42, 24, 21 };
     int[][] c = Functionality.selctionsort(a);
     for (int i = 0; i < c.length; i++){
       System.out.print("[  ");
       for (int j = 0; j < c[i].length; j++) {
         System.out.print(c[i][j]+"  ");     
       }
       System.out.println("]");
     }
```
Bei mir kommt dabei diese Ausgabe raus:

```
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
[  7  21  24  35  42  63  ]
```
Was muss ich verändern damit mir jeder einzelne Schritt ausgegeben wird?

Vielen Dank im Vorraus!


----------



## Enceladus271 (28. Nov 2015)

Du musst die Ausgabe in jedem Schleifendurchlauf in der Methode selectionsort machen.

Bitte beim nächsten mal bei Javacode die Java-Tags verwenden:
[code = Java ] (ohne Leerzeichen)
...
[/code]


----------

