# 2D Array spaltenweise durchlaufen



## kaktusfeige (1. Apr 2008)

Zeilenweise geht es ja so (ist doch richtig, dass Array so zeilenweise(=horizontal) durchlaufen wird oder habe ich einen Gedankenfehler)?


```
for (int zeile = 0; zeile < arra.length; zeile++) {
	
	for (int spalte = 0; spalte < array[zeile].length; spalte++) {

	}
}
```



```
array[zeile].length //falls das kein n xn array ist, ist das so richtig??
```


aber wie kann man ein array spaltenweise( vertikal) durchlaufen?


Danke!!


----------



## Marco13 (1. Apr 2008)

Wenn du deinen PC ein bißchen kippst, wird der Array sogar _diagonal_ durchlaufen  :shock: 

Das "horizontal" und "vertikal" ist eher Definitionssache, aber in Anlehung an die Schreibweise

```
int i[][] = new int[][]
{
    { 1,2,3 },
    { 4,5,6 },
    { 7,8,9 }
};
```
wäre dein Durchlaufen wirklich "zeilenweise". Umkehren kann man das, indem man die beiden "for..."-Zeilen vertauscht - allerdings muss man dann die Länger der Zeilen schon vorher kennen...


----------



## kaktusfeige (1. Apr 2008)

Ich habe ein 5 x5 array und muss kucken, ob eine Zahl 3-mal hintereinader in irgendeiner Spalte vorkommt, und weiss nicht, wie ich die aufgabe lösen soll


----------



## Reality (1. Apr 2008)

```
int i[][] = new int[][]
{
    { 1,2,3, 5, 6 },
    { 4,5,6, 5, 6 },
    { 7,8,9, 5, 6 }
    { 4,5,6, 5, 6 },
    { 7,8,9, 5, 6 }
};
```

Kontrollieren tust spaltenweise einfach so:


```
i[0][0]
i[1][0]
i[2][0]
usw.
```

Liebe Grüße
Reality


----------



## kaktusfeige (1. Apr 2008)

Danke! Hat mir weiter geholfen


----------

