2.5 FlatArray II

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

2.5 FlatArray II
Hey Leute

Ich habe jetzt die 2.4 gelöst und sitze über der Zusatzafgabe. Ich verstehe nicht so ganz, was diese Methode twod() machen soll.
Wenn jetzt a= {1,2,3,4,5,6} und w= {1,2,3} ist, wie genau muss dann der Ergebnisarray aussehen?
Da steht ja was von w[i%w.length]. Ist das ergebnis dann e = {{1},{2,3},{4},{5,6}}?


Hey,
soweit ich das verstanden habe wäre e in deinem Fall:
e = {{1},{2,3}{4,5,6}}


OK… und warum genau? Ich check den Hintergedanken irgendwie nicht so ganz.
Ich meine, w und a können ja beliebige Inhalte haben oder gleich ganz lee sein und dazu noch beliebig lang, etc… soll man da alle Möglichkeiten bedenken oder kann man davon ausgehen, das w kleiner ist als a und sinnvolle Werte enthält?


Also ich glaub man sollte schon ein paar fälle beachten.
ich mein, wenn w leer ist, das wäre ja eine kurze abfrage,…

Was halt auch zu bedenken ist, dass a viel mehr Inhalt haben könnte als w.
Z.B. a= {1,2,3,4,5,6,7,8,9,1,2,3,4,5,6} w = {1,2,3}
e = {{1}, {2,3},{4,5,6},{7},{8,9},{1,2,3},{4},{5,6}}


Ja, stimmt. Danke, habs jetzt auch geschafft :wink:
Ich war mir nur am Anfang unsicher, was am Ende rauskommen sollte.
Falls jemand einen Test braucht (allerdings ohne koplett leere arrays, das hab ich separat getestet):

		//Testprint Methode_twod:
                        int[][] ergebnis2;
			int[][] w = {{1,2,3},{1,2,0},{1,0,2},{0,1,2},{1,0,0},{0,0,0},{0},{5},{5,9},{34,23,89,1234,9},{1,1,1},{2,7,6,2,1},{9,3,3},{0,2,3,40,5,0,2},{2,2,2},{3},{93,2,1}};
			int[][] ab = {{1,2,3,4,5,6,7,8,9,10,11,12,13,14},{0},{1,2,3}};

			
			for (int i = 0; i < ab.length; i++) {
				for (int j = 0; j < w.length; j++){
					ergebnis2 = twod(w[j],ab[i]);
//					ergebnis2 = twod(ab[i],w[j]);
					System.out.println();
					System.out.print("{");

					if (ergebnis2 != null) {

					  for (int k = 0; k<ergebnis2.length; k++) {
						System.out.print("{ ");
						for (int l = 0; l<ergebnis2[k].length; l++) {
							System.out.print(ergebnis2[k][l] + " ");
						}
						System.out.print("}");
					  }
					System.out.print("}");
					System.out.println();
					System.out.println();
					} else { System.out.println("NULL}");}
				}	
			}