|
|
@@ -9,29 +9,30 @@ import java.util.*;
|
|
|
|
|
|
public class Eingabe
|
|
|
{
|
|
|
- private Element[][] matrix;
|
|
|
+ public Element[][] matrix;
|
|
|
private double multi = 1;
|
|
|
- private int n;
|
|
|
- private int m;
|
|
|
+ private int zeilenZahl;
|
|
|
+ private int spaltenZahl;
|
|
|
+ private double zahl;
|
|
|
|
|
|
public Eingabe()
|
|
|
{
|
|
|
- n = 3;
|
|
|
- m = 4;
|
|
|
+ zeilenZahl = 3;
|
|
|
+ spaltenZahl = 4;
|
|
|
}
|
|
|
|
|
|
public void einlesen() throws IOException {
|
|
|
|
|
|
//InputStreamReader isr = null;
|
|
|
BufferedReader br = null;
|
|
|
- matrix = new Element[n][m];
|
|
|
- for(int i = 0; i < n; i++) {
|
|
|
- for(int j = 0; j < m; j++) {
|
|
|
+ matrix = new Element[zeilenZahl][spaltenZahl];
|
|
|
+ for(int i = 0; i < zeilenZahl; i++) {
|
|
|
+ for(int j = 0; j < spaltenZahl; j++) {
|
|
|
try {
|
|
|
br = new BufferedReader(new InputStreamReader(System.in));
|
|
|
System.out.print(+ i + "," + j + ": ");
|
|
|
String eingabe = br.readLine();
|
|
|
- matrix[i][j] = new Element(Double.parseDouble(eingabe));
|
|
|
+ matrix[i][j] = new Element(Integer.parseInt(eingabe));
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
@@ -46,41 +47,14 @@ public class Eingabe
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- public double faktorCheck(Element zahl)
|
|
|
- {
|
|
|
- int value = (int) zahl.gibZahl();
|
|
|
- if(value != 1)
|
|
|
- {
|
|
|
- multi = 1/(zahl.gibZahl());
|
|
|
- zahl.multiZahl(multi);
|
|
|
- }
|
|
|
- return multi;
|
|
|
- }
|
|
|
-
|
|
|
- public double rechnen(Element zahl, double multi)
|
|
|
- {
|
|
|
- zahl.multiZahl(multi);
|
|
|
- return zahl.gibZahl();
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
- public void zeilenFaktor(int a)
|
|
|
- {
|
|
|
- for(int i=0; i<n; i++)
|
|
|
- {
|
|
|
- multi = faktorCheck(matrix[i][a]);
|
|
|
- for(int j=1; j<m; j++)
|
|
|
- {
|
|
|
- matrix[i][j].multiZahl(multi);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
|
|
|
public void ausgabe()
|
|
|
{
|
|
|
- for(int j=0; j<n; j++)
|
|
|
+ for(int j=0; j<zeilenZahl; j++)
|
|
|
{
|
|
|
- for(int i=0; i<m; i++)
|
|
|
+ for(int i=0; i<spaltenZahl; i++)
|
|
|
{
|
|
|
System.out.print( matrix[j][i].gibZahl() + ", ");
|
|
|
}
|
|
|
@@ -88,67 +62,62 @@ public class Eingabe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void zeileMulti(int zeile)
|
|
|
+ {
|
|
|
+ for(int i=0; i<spaltenZahl; i++)
|
|
|
+ {
|
|
|
+ matrix[zeile][i].multiZahl(this.multi);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- public void gauss() throws IOException
|
|
|
+ public void zeilenAddition(int zeileStatic, int zeileChange)
|
|
|
{
|
|
|
- //einlesen(m, n);
|
|
|
- zeilenFaktor(0);
|
|
|
- for(int j=1; j<3; j++)
|
|
|
+ for(int i=0; i<spaltenZahl; i++)
|
|
|
{
|
|
|
- for(int i=0; i<m; i++)
|
|
|
- {
|
|
|
- double a = matrix[0][i].gibZahl();
|
|
|
- double b = matrix[j][i].gibZahl();
|
|
|
-
|
|
|
- matrix[j][i].changeZahl(b-a);
|
|
|
- }
|
|
|
+ this.zahl = matrix[zeileChange][i].gibZahl() - matrix[zeileStatic][i].gibZahl();
|
|
|
+ matrix[zeileChange][i].changeZahl(this.zahl);
|
|
|
}
|
|
|
- zeilenFaktor(1);
|
|
|
- for(int i=1; i<m; i++)
|
|
|
- {
|
|
|
- double a = matrix[1][i].gibZahl();
|
|
|
- double b = matrix[0][i].gibZahl();
|
|
|
-
|
|
|
- matrix[0][i].changeZahl(b-a);
|
|
|
- }
|
|
|
- for(int i=1; i<m; i++)
|
|
|
+ }
|
|
|
+
|
|
|
+ public void gaussAlgorithmus(int zeilenZahl, int spaltenZahl)
|
|
|
+ {
|
|
|
+ for(int i=0; i<zeilenZahl; i++)
|
|
|
+ {
|
|
|
+ this.multi = 1/(matrix[i][i].gibZahl());
|
|
|
+ for(int k=0; k<zeilenZahl; k++)
|
|
|
{
|
|
|
- double a = matrix[1][i].gibZahl();
|
|
|
- double b = matrix[2][i].gibZahl();
|
|
|
-
|
|
|
- matrix[2][i].changeZahl(b-a);
|
|
|
+ zeileMulti(k);
|
|
|
}
|
|
|
- zeilenFaktor(2);
|
|
|
- for(int j=0; j<2; j++)
|
|
|
- {
|
|
|
- for(int i=2; i<m; i++)
|
|
|
+
|
|
|
+ for(int j=0; j<i | j>i; j++)
|
|
|
{
|
|
|
- double a = matrix[2][i].gibZahl();
|
|
|
- double b = matrix[j][i].gibZahl();
|
|
|
-
|
|
|
- matrix[j][i].changeZahl(b-a);
|
|
|
+ zeilenAddition(i, j);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
- ausgabe();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
public static void main (String[] args) {
|
|
|
|
|
|
Eingabe a = new Eingabe();
|
|
|
+ //Gauss b = new Gauss(3, 4);
|
|
|
|
|
|
try {
|
|
|
a.einlesen();
|
|
|
- a.gauss();
|
|
|
+ a.gaussAlgorithmus(3, 4);
|
|
|
+ a.ausgabe();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- //a.ausgabe();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
+
|
|
|
}
|