array problem

Status
Nicht offen für weitere Antworten.
P

pouya

Gast
hallo leute,

ich hoffe einer von euch kann mir hier helfen! ich soll folgendes aufgabe bewätligen, krieg es aber einfahc nicht gebacken:

gegen ist ein 2- dim array (gerade anzahl an werten), welches in die methode "int [][] fromMatrix(int [][] matrix)" übergeben wird. die aufgabe ist es nun, dieses array, wo man nicht weiß wieviele zeilen und spalten es hat, in ein 2 dim- array mit nur 2 zeilen umzusetzen. die beiden zeilen sollen dann entsprechend gleich viele elemnte haben.

kann mir da einer helfen?? bitte bitte

vielen dank

mfg pouya
 

javimka

Top Contributor
Ein "2-dim-Array" ist ja eigentlich ein Array aus Arrays. Wenn du ein int[][] array hast, dann ist array selbst ein int[]. Die Längen findest du mit array.length und array.length.

Um aus einem int[n][m] Array ein int[2][m*n/2]Array zu basteln gibt es verschiedene Möglichkeiten. Entweder, du nimmst die erste Hälfte von int[m] Arrays, also von 0 bis n/2 und speicherst sie in die erste Zeile des neuen Arrays und die zweite Hälfte in die zweite Zeile.
Oder du wechselst ab und speicherst das array[0] in die erste zeile, array[1] in die zweite Zeile, array[2] wieder in die erste Zeile usw.
 
P

pouya

Gast
schon mal vielen dank für deine hilfe, aber hättest du auch einen code am start?
ich stehe gerade so hier:
Java:
int[][] fromMatrix(int[][] matrix)
 {int pos, x, p, y, i, j;
 {for (y=0; y < matrix.length ; y++ ) 
  {for (x=0; x < matrix[0].length ; x++ ) 
	{int p= p+1;
   };
  };
 };
 int[][] imatrix = new int[2][p/2]; 
 {for(j = 0; j < matrix[0].length; j++ )
  {for(i = 0; i < matrix.length; i++ )
   {imatrix[0][pos] = j;
	 imatrix[1][pos] = i;
	 pos++;
	};
  };
 };
return imatrix
};
 

javimka

Top Contributor
Also ich würde es so machen:
Java:
int n = matrix.length;
int m = matrix[0].length;
int[][] imatrix = new int[2][n*m/2];
for (int i=0;i<n/2;i++) {
  for (int j=0;j<m;j++) {
    imatrix[0][i*m+j] = matrix[i][j];
  }
}
... // das gleiche noch mit der zweiten Hälfte
(nicht getestet).

Es gibt noch Befehle wie System.arrayCopy, um schneller Arrays kopieren zu können. Damit könntest du die innere Schleife sparen, wenn du willst.
 
P

Pouya

Gast
also der erste teil den du mir geschickt hast funzt super! kann mir aber nicht vorstellen wie der 2. funzen soll.... könntest du nochmal so freundlich sein bitte :=)
 

javimka

Top Contributor
Im ersten Teil hast du ja alle int[] von 0 bis n/2 in die erste Zeile des neuen Arrays geschrieben. Der zweite Teil geht analog, nur dass du nun von n/2 bis nach n gehst und statt in die 1. Zeile in die 2. Zeile schreibst. Die zweite Zeile wäre imatrix[1][...].
 
P

pouya

Gast
hey leute,
also ich komme hier kein deut weiter, ich bitte euch nochmals mir hier echt den A***h zu retten, weil ich das morgen abgeeben muss und dafür benotet werde :S
hat denn keiner von euch ne kleine eindeutige lösung am start? würdet mir wirklich weiter helfen.
Hier mein bissehriger Stand:

Java:
int[][] fromMatrix(int[][] matrix)
{
int n = matrix.length;
int m = matrix[0].length;
int[][] imatrix = new int[n*m/2][2];
for (int i=0;i<n/2;i++) {
  for (int j=0;j<m ;j++) {
 imatrix[j][0] = matrix[i][j];
	 }
  }
 for (int i=n/2;i<n;i++) {
  for (int j=0;j <m ;j++) {
 imatrix[j][1] = matrix[i][j];
	 }
  }
return imatrix;
}




}
 

Michael...

Top Contributor
Soll das Array transponiert werden?
Java:
public class MatrixDemo {

	public static int[][] fromMatrix(int[][] matrix) {
		int[][] newMatrix = new int[matrix[0].length][matrix.length];
		for (int i=0; i<matrix.length; i++) {
			for (int k=0; k<matrix[i].length; k++) {
				newMatrix[k][i] = matrix[i][k];
			}
		}
		return newMatrix;
	}

	public static void main(String[] args) {

		int[][] matrix = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
		int[][] neu = fromMatrix(matrix);
		System.out.println("alte Matrix");
		for (int i=0; i<matrix.length; i++) {
			for (int k=0; k<matrix[i].length; k++) {
				System.out.print(matrix[i][k] + ",");
			}
			System.out.println();
		}
		System.out.println("neue Matrix");
		for (int i=0; i<neu.length; i++) {
			for (int k=0; k<neu[i].length; k++) {
				System.out.print(neu[i][k] + ",");
			}
			System.out.println();
		}
	}
}
 

Michael...

Top Contributor
Sorry, hatte die Bedinung, dass das neue Array ein int[2][n] sein muss nicht gelesen.
Eine (von vielen Möglichkeiten) wäre folgende:
Java:
public class MatrixDemo {

	public static int[][] fromMatrix(int[][] matrix) {
		int[][] newMatrix = new int[2][matrix[0].length * matrix.length / 2];
		int m = 0, n = 0;
		for (int i = 0; i < newMatrix.length; i++) {
			for (int k = 0; k < newMatrix[i].length; k++) {
				newMatrix[i][k] = matrix[m][n++];
				if (n == matrix[m].length) {
					n = 0;
					m++;
				}
			}
		}
		return newMatrix;
	}

	public static void main(String[] args) {

		int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 0, 0, 0 } };
		int[][] neu = fromMatrix(matrix);
		System.out.println("alte Matrix");
		for (int i = 0; i < matrix.length; i++) {
			for (int k = 0; k < matrix[i].length; k++) {
				System.out.print(matrix[i][k] + ",");
			}
			System.out.println();
		}
		System.out.println("neue Matrix");
		for (int i = 0; i < neu.length; i++) {
			for (int k = 0; k < neu[i].length; k++) {
				System.out.print(neu[i][k] + ",");
			}
			System.out.println();
		}
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
A Array problem Java Basics - Anfänger-Themen 16
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
B Array Problem Java Basics - Anfänger-Themen 3
F Problem mit der Aufgabe(Array) Java Basics - Anfänger-Themen 21
H boolean Array Problem Java Basics - Anfänger-Themen 7
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
G Problem mit Array Java Basics - Anfänger-Themen 2
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
C Problem mit Arrays im Array Java Basics - Anfänger-Themen 11
A Problem mit Array Ausgabe Java Basics - Anfänger-Themen 7
L 2 dimensionales Array, Problem der Ausgabe Java Basics - Anfänger-Themen 4
E Array Problem Java Basics - Anfänger-Themen 1
L Problem mit Array Programm Java Basics - Anfänger-Themen 2
M Array problem Java Basics - Anfänger-Themen 9
M If und Array-Problem Java Basics - Anfänger-Themen 6
P OOP Array-Problem Java Basics - Anfänger-Themen 5
S Problem mit Array.Length Java Basics - Anfänger-Themen 2
R Array Problem Java Basics - Anfänger-Themen 17
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
F Problem mit Array Java Basics - Anfänger-Themen 8
N OOP Problem mit Array Java Basics - Anfänger-Themen 17
M Problem mit 2D Array Java Basics - Anfänger-Themen 3
M Problem mit Array und replace Java Basics - Anfänger-Themen 3
D Array Problem Java Basics - Anfänger-Themen 4
F Array Problem !? Java Basics - Anfänger-Themen 6
M Erste Schritte Array Problem Java Basics - Anfänger-Themen 8
F Problem mit Array, Java Basics - Anfänger-Themen 4
F Problem: Verschlüsselung von String in Array Fehler Java Basics - Anfänger-Themen 2
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
B Problem mit Array Java Basics - Anfänger-Themen 5
J Array Problem Java Basics - Anfänger-Themen 2
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
N Array problem bei einem magischen Quadrats Java Basics - Anfänger-Themen 3
P Klassen Klassen mit Array Problem Java Basics - Anfänger-Themen 4
T Problem mit Array Konvertierung Java Basics - Anfänger-Themen 13
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Array Problem NullPointerException Java Basics - Anfänger-Themen 3
K Problem: Array String to Integer Java Basics - Anfänger-Themen 2
M Char-Array Problem Java Basics - Anfänger-Themen 6
D Problem mit TextFeld Array Java Basics - Anfänger-Themen 18
A Array Zugriff- Problem Java Basics - Anfänger-Themen 5
V 2D - Objekt Array Problem Java Basics - Anfänger-Themen 3
K Java Array Problem Java Basics - Anfänger-Themen 3
L Problem mit Array Java Basics - Anfänger-Themen 3
K kleines Array-Problem Java Basics - Anfänger-Themen 6
X Array out of bounds problem Java Basics - Anfänger-Themen 7
M Array Problem Java Basics - Anfänger-Themen 2
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
E Array Problem... Java Basics - Anfänger-Themen 14
P Codeschnipsel Verständnis Problem (Array) Java Basics - Anfänger-Themen 6
F Array Problem bei ByteburgTarif Java Basics - Anfänger-Themen 2
P Problem mit Laden und Ausgeben eines array-Objekts Java Basics - Anfänger-Themen 4
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
D Array multiplikations Problem Java Basics - Anfänger-Themen 26
D Array Problem Java Basics - Anfänger-Themen 5
B Mehrdimensionale Array Problem Java Basics - Anfänger-Themen 12
T Array-Vector Problem Java Basics - Anfänger-Themen 18
T Blutiger Anfänger mit Array Problem Java Basics - Anfänger-Themen 8
T problem mit array Java Basics - Anfänger-Themen 9
S String split array.length Problem Java Basics - Anfänger-Themen 3
B Problem mit Object Array Java Basics - Anfänger-Themen 8
W Problem mit BubbleSort und Array Java Basics - Anfänger-Themen 10
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
G Array-Problem Java Basics - Anfänger-Themen 3
M sinus berechnen array problem Java Basics - Anfänger-Themen 2
C array problem Java Basics - Anfänger-Themen 7
G Array ,Matrix Problem Java Basics - Anfänger-Themen 20
Antoras Problem mit Array Java Basics - Anfänger-Themen 5
K Problem mit 2 Dimensionalen Array Java Basics - Anfänger-Themen 4
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
0 Array problem Java Basics - Anfänger-Themen 4
S Problem mit Array-Erstellung Java Basics - Anfänger-Themen 5
A array problem Java Basics - Anfänger-Themen 4
G array Problem Java Basics - Anfänger-Themen 9
H Problem mit array Java Basics - Anfänger-Themen 5
zilti Array-Problem Java Basics - Anfänger-Themen 6
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
M Problem mit Array in Methodenkopf Java Basics - Anfänger-Themen 2
K problem beim schreiben in ein int-array Java Basics - Anfänger-Themen 9
S JTable Problem mit einzufügendem Array Java Basics - Anfänger-Themen 6
D Problem mit Array brauche schnell Hilfe Java Basics - Anfänger-Themen 11
R Problem mit AbstractTableModel oder Array! Java Basics - Anfänger-Themen 5
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
K problem mit resultset und 2d-array Java Basics - Anfänger-Themen 3
G Problem mit array Java Basics - Anfänger-Themen 2
P Array-Problem Java Basics - Anfänger-Themen 4
L Array Problem Java Basics - Anfänger-Themen 9
B Array Manipulation Problem Java Basics - Anfänger-Themen 11
B Array Problem (out of Bounds Exception) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben