Arrays < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 21:52 Sa 17.11.2012 | Autor: | Maurizz |
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Hallo,
mal angenommen man hat ein 3d Array: {
x_{1} {{ {...}, {.......
.
.
.
x_{n} ............{....}}
y_{1} .... y{n}
};
mit [x][y][z]
Ich möchte nun ein Algorithmus, der in der Lage ist ein 2d-Array zu erstellen,
der genau so viel Zeilen wie das x im 3d array und jede Zeile x soll genauso viel
Spalten besitzen wie das x y'ns im 3darray.
Könnt ihr nachvollziehen was ich meine?
Wenn mein 3d Array so aussieht: {{ 11, '+'}, {0, 0}, {1, 0}},
{{ 2, '/'}, {0, 1}, {0, 2}},
{{ 20, '*'}, {0, 3}, {1, 3}},
{{ 6, '*'}, {0, 4}, {0, 5}, {1, 5}, {2, 5}},
{{ 3, '-'}, {1, 1}, {1, 2}},
{{ 3, '/'}, {1, 4}, {2, 4}},
{{240, '*'}, {2, 0}, {2, 1}, {3, 0}, {3, 1}},
{{ 6, '*'}, {2, 2}, {2, 3}},
{{ 6, '*'}, {3, 2}, {4, 2}},
{{ 7, '+'}, {3, 3}, {4, 3}, {4, 4}},
{{ 30, '*'}, {3, 4}, {3, 5}},
{{ 6, '*'}, {4, 0}, {4, 1}},
{{ 9, '+'}, {4, 5}, {5, 5}},
{{ 8, '+'}, {5, 0}, {5, 1}, {5, 2}},
{{ 2, '/'}, {5, 3}, {5, 4}}
Der hier hat z.b 15 Tabellen und in jeder Tabelle sind 3-5 Zeilen dessen Elemente für das 2d Array was ich erstellen will unwichtig sind.
D.h mein 2d Array sollte wie folgt aussehen:
{
{ , , },
{ , , },
{ , , },
{ , , , , },
.
.
{ , , , },
{ , , }
};
Ich könnte natürlich zählen und dementsprechend eins erstellen. Aber es soll allgemein in der Lage sein.
Um es ein bisschen zu konkretisieren:
Dieses beschriebene array Feld beschreib ein Kendoku Feld. (Wert, Symbol)(koordinaten)(koordinaten)
Also will ich jetzt ein Feld wo ich die Lösung für das Kendoku hineinschreiben kann.
Dieses Feld is eigentlich quadratisch. Aber mal angenommen es wäre nicht quadratisch.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 02:22 So 18.11.2012 | Autor: | Nyme |
In Java kannst du (ohne zu zählen) die Länge eines Arrays durch ein angehängtes .length abfragen.
Als Beispiel:
int[] feld = new int[5];
int laenge = feld.length;
Wenn du jetzt nicht die Länge der ersten Dimension (in deinem Fall x) wissen, willst, sondern z.B. die der zweiten, dann geht das so:
int[][] feld = new int[5][6];
int laenge = feld[0].length;
In dem Stil kannst du das fortsetzen, so dass zum Beispiel für
int[][][][][] feld = new int[5][3][4][2][8];
int laenge = feld[0][0][0][0].length;
laenge den Wert 8 erhalten würde.
Diese Längenangaben kannst du jetzt in deinem Fall bei der Erzeugung des 2-dimensionalen Arrays einfach verwenden:
int[][][] 3DArray = new int[6][5][4];
int[][] 2DArray = new int[3DArray.length][3DArray[0].length];
|
|
|
|