1: | public class ASechsEins {
|
2: |
|
3: | public static void main (String[] args) {
|
4: |
|
5: |
|
6: | // Zeilen- und Spaltenanzahl erster Matrix
|
7: | System.out.println("Geben Sie die Zeilen- und Spaltenanzahl der ersten Matrix ein. \nZeilen: ");
|
8: | int m1Zeilen = EingabeInt();
|
9: | System.out.println("Spalten: ");
|
10: | int m1Spalten = EingabeInt();
|
11: |
|
12: | // Zeilen- und Spaltenanzahl zweiter Matrix
|
13: | System.out.println("Geben Sie die Zeilen- und Spaltenanzahl der zweiten Matrix ein. \nZeilen: ");
|
14: | int m2Zeilen = EingabeInt();
|
15: | System.out.println("Spalten: ");
|
16: | int m2Spalten = EingabeInt();
|
17: |
|
18: |
|
19: | // Initialisierung der Arrays
|
20: | int[][] matrixEins = new int [m1Zeilen][m1Spalten];
|
21: | int[][] matrixZwei = new int [m2Zeilen][m2Spalten];
|
22: |
|
23: | System.out.println("Geben Sie nacheinander die Werte der ersten Matrix an. Beginnen Sie in der ersten Zeile und Spalte und füllen zunächst von links nach rechts, und dann von oben nach unten auf.");
|
24: | for (int i = 0; i < m1Zeilen; i++)
|
25: | for (int k = 0; k < m1Spalten; k++) {
|
26: | int Wert = EingabeInt();
|
27: | matrixEins[i][k] = Wert;
|
28: | }
|
29: |
|
30: | System.out.println("Fuellen Sie nun die zweite Matrix auf.");
|
31: | for (int i = 0; i < m2Zeilen; i++)
|
32: | for (int k = 0; k < m2Spalten; k++) {
|
33: | int Wert = EingabeInt();
|
34: | matrixZwei[i][k] = Wert;
|
35: | }
|
36: | // Addition
|
37: |
|
38: | // Ausgabe der ersten Matrix
|
39: | System.out.println("Somit sieht die erste Matrix folgendermassen aus.");
|
40: | for (int k = 0; k < matrixEins.length; k++) {
|
41: | for (int l = 0; l < matrixEins[k].length; l++) {
|
42: | System.out.print(matrixEins[k][l] + "\t");
|
43: | }
|
44: | System.out.println("");
|
45: | }
|
46: |
|
47: | // Ausgabe der zweiten Matrix
|
48: | System.out.println("Und die zweite so: ");
|
49: | for (int k = 0; k < matrixZwei.length; k++) {
|
50: | for (int l = 0; l < matrixZwei[k].length; l++) {
|
51: | System.out.print(matrixZwei[k][l] + "\t");
|
52: | }
|
53: | System.out.println("");
|
54: | }
|
55: |
|
56: | // Matrixaddition
|
57: |
|
58: | System.out.println("Für die Addition ergibt sich folgende Matrix");
|
59: | if(m1Zeilen == m2Zeilen && m1Spalten == m2Spalten) {
|
60: | int Addition [][] = new int [m1Zeilen][m1Spalten];
|
61: |
|
62: | for(int i=0; i <3; i++) {
|
63: | for(int j=0; j< 3; j++) {
|
64: | [b]Addition[i][j] = matrixEins[i][j] + matrixZwei[i][j];[/b]
|
65: | System.out.print("\t" + Addition[i][j]);
|
66: | }
|
67: | System.out.println("\t");
|
68: | }
|
69: | }
|
70: |
|
71: | else
|
72: | System.out.println("Die beiden Matrizen haben nicht die gleiche Spalten- und Zeilenanzahl. Daher ist eine Addition nicht moeglich!");
|
73: |
|
74: | // Matrixmultiplikation
|
75: |
|
76: | System.out.println("Fuer die Multiplikation ergibt sich folgende Matrix");
|
77: | if (m1Spalten == m2Zeilen) {
|
78: | int Multiplikation[][] = new int[m1Zeilen][m2Spalten];
|
79: |
|
80: | for(int i=0; i< 3; i++){
|
81: | for(int j=0; j< 3; j++){
|
82: | Multiplikation[i][j] = 0;
|
83: |
|
84: | for(int k=0; k< 3; k++)
|
85: | Multiplikation[i][j] = Multiplikation[i][j]+matrixEins[i][k]*matrixZwei[k][j];
|
86: |
|
87: | System.out.print("\t"+ Multiplikation[i][j]);
|
88: | }
|
89: | System.out.println("\t");
|
90: | }
|
91: | }
|
92: |
|
93: | else
|
94: | System.out.println("Die Spaltenanzahl der ersten Matrix entspricht nicht der Zeilenanzahl der zweiten. Daher ist eine Multiplikation nicht moeglich!");
|
95: |
|
96: | }
|
97: | public static int EingabeInt()
|
98: | {
|
99: | java.util.Scanner scanner = new java.util.Scanner(System.in);
|
100: | return scanner.nextInt();
|
101: | }
|
102: | }
|