Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Mehrdimensionales array[][] » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Mehrdimensionales array[][]
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
unleashed656
Grünschnabel


Dabei seit: 12.03.2015
Beiträge: 7

Mehrdimensionales array[][] Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo, ich habe erneut ein kleines Problem und hoffe ich bin
da wieder bei euch richtig.
Ich habe ein mehrdimensionales array (int[][])
Ich muss daraus nun das spalten und zeilenprodukt bilden. Also alle zahlen in einer Spale
aufmultiplizieren plus das gleicche mit der nächsten spalte und so weiter. Und dann halt alle zahlen in einer zeile multiplizieren + die nächste spalte.


Ich kriege aber immer total falsche Ergebnisse.
Ich habe mich mal zuerst am spaltenprodukt probiert und das zeilenprodukt weggelassen.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
package sonstiges;

public class summe {

	static int Matrix[][]= {{2,1,1,3},{1,3,2,4},{4,3,1,3}};
	
	
	
	static int produkt(int[][] matrix){
		int spaltenprodukt = 1;
		int ergebniss = 0;
		
		for(int i=0;i<matrix.length;i++){
			
			for(int j=0;j<matrix[i].length;j++){
				spaltenprodukt *= matrix[i][j];
			}
			
			ergebniss +=spaltenprodukt;
		}
			
		return ergebniss;
	}
	
public static void main(String[] args){
	
	int zahl=produkt(Matrix);
	System.out.print(zahl);
}	
	
}


Bitte helft mir weiter...Das spaltenprodukt sollte 66 ergeben.
18.03.2015 16:42 unleashed656 ist offline Beiträge von unleashed656 suchen Nehmen Sie unleashed656 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zieh die Zeile int spaltenprodukt = 1; in die äußere for Schleife rein (also zu Zeile 14). Sonst rechnest du mit dem alten Produkt weiter. Alternativ kannst du es wieder auf 1 setzen, nachdem du das Ergebnis erhöht hast.

__________________
Syntax Highlighting fürs Board (Link)
18.03.2015 16:47 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
unleashed656
Grünschnabel


Dabei seit: 12.03.2015
Beiträge: 7

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ah danke, das macht mehr sinn großes Grinsen ...dann werde ich mal die zeilen in angriff nehmen Augenzwinkern
18.03.2015 16:51 unleashed656 ist offline Beiträge von unleashed656 suchen Nehmen Sie unleashed656 in Ihre Freundesliste auf
unleashed656
Grünschnabel


Dabei seit: 12.03.2015
Beiträge: 7

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ok irgendwie kriege ich immer eine indexoutofbounds exceptions bei den zeilenprodukt.
Hier der Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:

public class summe {

	static int Matrix[][]= {{2,1,1,3},{1,3,2,4},{4,3,1,3}};
	
	
	
	static int produkt(int[][] matrix){
		
		int ergebniss = 0;
		
		//Spaltenprodukt
		for(int i=0;i<matrix.length;i++){
			int spaltenprodukt = 1;
			
			for(int j=0;j<matrix[i].length;j++){
				spaltenprodukt *= matrix[i][j];
			}
			
			ergebniss +=spaltenprodukt;
		}
		
		//Zeilenprodukt
		for(int i = 0;i<matrix.length;i++){
			int zeilenprodukt = 1;			
			for(int j=0;j<matrix[i].length;j++){
				zeilenprodukt *= matrix[j][i];
			}
			ergebniss += zeilenprodukt;
		}
			
		return ergebniss;
	}
	
public static void main(String[] args){
	
	int zahl=produkt(Matrix);
	System.out.print(zahl);
}	
	
}
19.03.2015 13:59 unleashed656 ist offline Beiträge von unleashed656 suchen Nehmen Sie unleashed656 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
for (int i = 0; i < matrix[0].length; i++) {
	int spaltenprodukt = 1;
	for (int j = 0; j < matrix.length; j++) {
		spaltenprodukt *= matrix[j][i];
	}
	ergebnis += spaltenprodukt;
}


Beachte, dass die erste Schleife bis matrix[0].length geht.

__________________
Syntax Highlighting fürs Board (Link)
19.03.2015 16:19 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Mehrdimensionales array[][]