Ibolend
06.10.2011, 10:49
Hallo leute,
ich hab folgendes problem ich verstehe die aufgabenstellung nicht so ganz sry.
die aufgabenstellung lautet:
Gegeben ist ein Java-Programm zur Matrix-Berechnung. Implementieren Sie die Me-thode transpose zur Berechnung der transponierten Matrix (Zeilen und Spalten ge-genüber der Ursprungsmatrix vertauscht).
und das ist der quelltext zu der aufgabe
public class Matrix
{
private int[][] data;
public Matrix(int[][] data)
{
this.data = data;
}
// Vorbedingung: anzZeilen > 0 und anzSpalten > 0
public Matrix(int anzZeilen, int anzSpalten)
{
data = new int[anzZeilen][anzSpalten];
for (int i = 0; i < anzZeilen; i++)
for(int j = 0; j < anzSpalten; j++)
data[i][j] = 0;
}
public void set(int[][] data)
{
int anzZeilen = data.length > this.data.length ? this.data.length : data.length;
int anzSpalten = data[0].length > this.data[0].length ? this.data[0].length : data[0].length;
for (int i = 0; i < anzZeilen; i++)
for(int j = 0; j < anzSpalten; j++)
this.data[i][j] = data[i][j];
}
/** A.transpose():
*
* A entspricht Matrix, die transponiert werden soll
*
* anzSpalten <- dim(A,1) // Anzahl Spalten in transp. Matrix
* anzZeilen <- dim(A,2) // Anzahl Zeilen in transp. Matrix
*
* B = create Matrix(anzZeilen, anzSpalten)
*
* for i <- 1 to anzSpalten do
* for j <- 1 to anzZeilen do
* B[j,i] <- A[i,j]
* end for
* end for
*
* return B
*
*/
public Matrix transpose()
{
// TODO
}
public void print(String text)
{
int anzZeilen = data.length;
int anzSpalten = data[0].length;
System.out.println(text);
for(int i = 0; i < anzZeilen; i++)
{
for(int j = 0; j < anzSpalten; j++)
{
if (data[i][j] >= 0)
System.out.print("\t"+ " " + data[i][j]);
else
System.out.print("\t"+ data[i][j]);
}
System.out.println();
}
}
public static void main(String[] args)
{
Matrix A, B;
int[][] data = new int[2][3];
data[0][0]= 1;
data[0][1]= 8;
data[0][2]= -3;
data[1][0]= 4;
data[1][1]= -2;
data[1][2]= 5;
// Matrix:
// 1 8 -3
// 4 -2 5
A = new Matrix(data);
A.print("Matrix A");
B = A.transpose();
B.print("Matrix B");
}
}
was muss ich denn hier machen kann leider nicht so gut mathe :( bedanke mich schon ma im voraus
ich hab folgendes problem ich verstehe die aufgabenstellung nicht so ganz sry.
die aufgabenstellung lautet:
Gegeben ist ein Java-Programm zur Matrix-Berechnung. Implementieren Sie die Me-thode transpose zur Berechnung der transponierten Matrix (Zeilen und Spalten ge-genüber der Ursprungsmatrix vertauscht).
und das ist der quelltext zu der aufgabe
public class Matrix
{
private int[][] data;
public Matrix(int[][] data)
{
this.data = data;
}
// Vorbedingung: anzZeilen > 0 und anzSpalten > 0
public Matrix(int anzZeilen, int anzSpalten)
{
data = new int[anzZeilen][anzSpalten];
for (int i = 0; i < anzZeilen; i++)
for(int j = 0; j < anzSpalten; j++)
data[i][j] = 0;
}
public void set(int[][] data)
{
int anzZeilen = data.length > this.data.length ? this.data.length : data.length;
int anzSpalten = data[0].length > this.data[0].length ? this.data[0].length : data[0].length;
for (int i = 0; i < anzZeilen; i++)
for(int j = 0; j < anzSpalten; j++)
this.data[i][j] = data[i][j];
}
/** A.transpose():
*
* A entspricht Matrix, die transponiert werden soll
*
* anzSpalten <- dim(A,1) // Anzahl Spalten in transp. Matrix
* anzZeilen <- dim(A,2) // Anzahl Zeilen in transp. Matrix
*
* B = create Matrix(anzZeilen, anzSpalten)
*
* for i <- 1 to anzSpalten do
* for j <- 1 to anzZeilen do
* B[j,i] <- A[i,j]
* end for
* end for
*
* return B
*
*/
public Matrix transpose()
{
// TODO
}
public void print(String text)
{
int anzZeilen = data.length;
int anzSpalten = data[0].length;
System.out.println(text);
for(int i = 0; i < anzZeilen; i++)
{
for(int j = 0; j < anzSpalten; j++)
{
if (data[i][j] >= 0)
System.out.print("\t"+ " " + data[i][j]);
else
System.out.print("\t"+ data[i][j]);
}
System.out.println();
}
}
public static void main(String[] args)
{
Matrix A, B;
int[][] data = new int[2][3];
data[0][0]= 1;
data[0][1]= 8;
data[0][2]= -3;
data[1][0]= 4;
data[1][1]= -2;
data[1][2]= 5;
// Matrix:
// 1 8 -3
// 4 -2 5
A = new Matrix(data);
A.print("Matrix A");
B = A.transpose();
B.print("Matrix B");
}
}
was muss ich denn hier machen kann leider nicht so gut mathe :( bedanke mich schon ma im voraus