# Eindimensionales Array in zweidimensionales Array speichern



## streami (13. Apr 2018)

Hallo Java-Community,

ich möchte gerne ein eindimensionales Array in einem quadratischen zweidimensionalen Array speichern. Ich dachte mir ich lege erst eine Grenze fest ab wann eine neue Zeile geschrieben werden soll.

int a = 3;

int eindim[] = {4, 1, 2, 0, 2, 3, 5, 0, 3, 8, 4, 1};

*... Schleife zur Umwandlung *
Danach sollte das neue zweidimensionale Array so aussehen:

double zweidim[][] = {{4, 1, 2, 0}, {2, 3, 5, 0}, {3, 8, 4, 1}};

Ich weiß allerdings nicht wie ich die Schleife formulieren soll, habe schon sehr viel rumprobiert aber nie hat es wirklich geklappt.

Vielen Dank schon mal für alle eure Tipps. Bin leider noch Anfänger.

LG streami


----------



## DrZoidberg (13. Apr 2018)

Versuche es mit dem Modulo Operator %.
_zeile = index / zeilenlaenge;
spalte = index % zeilenlaenge;_


----------



## streami (13. Apr 2018)

Hi danke für deine schnelle Anwort. Also ich hab das jetzt so verstanden:

       int zeilenlaenge = 4; // Zeichen in einer Zeile
       int eindim[] = {4, 1, 2, 0, 2, 3, 5, 0, 3, 8, 4, 1};
       int zweidim[][] = {};

       for(int i = 0; i <= eindim.length; i++) {
           zweidim[index / zeilenlaenge][index % zeilenlaenge] = eindim[ i ]_;   
       }


ich weiß leider nicht wie ich deine Ausdrücke formuliere. Was verstehst du unter Index? 

P.S. habe oben vergessen zu schreiben: das Array kann auch Rechteckig sein, also nicht nur Quadratisch. 

LG streami_


----------



## streami (13. Apr 2018)

habs leider immer noch nicht hinbekommen... 
kann mir sonst keiner helfen? LG


----------



## Java xyrse123 (13. Apr 2018)

Ich glaube mit dem Index meinte er deine Schleifenvariable in der for-Schleife. So müsste es funktionieren:

```
public static void main(String[] args)  {
       
       int zeilenlaenge = 4; // Zeichen in einer Zeile
       int eindim[] = {4, 1, 2, 0, 2, 3, 5, 0, 3, 8, 4, 1};
       int spalten= eindim.length/ zeilenlaenge;
       
       int zweidim[][] = new int[spalten][zeilenlaenge];   
       
     for(int i = 0; i < eindim.length; i++) {
       zweidim[i / zeilenlaenge][i % zeilenlaenge] = eindim[ i ];        
     }
     
     for(int i=0; i<3; i++) { /// Ausgabe
        for(int j=0; j<zeilenlaenge; j++) {
            System.out.print(zweidim[i][j]);
        }
     System.out.println();
     }
   }
```


----------



## streami (13. Apr 2018)

Danke funktioniert super  jetzt verstehe ich auch wie das mit dem index gemeint war.


----------

