Programm zur Berechnung der Spur einer Matrix

Carpe_Ratio

Neues Mitglied
Hallo,

ich versuche einen Algorithmus/Programm zu schreiben, mit dessen Hilfe die Spur eine Matrix bestimmt werden kann.

Die Spur einer Matrix berechnet sich aus der Summe der Elemente der Hauptdiagonalen.

z.B.
(1,2,3)
(4,5,6)
(7,8,9) => die Spur wäre 1+5+9=15

bisher habe ich zu "Papier" gebracht:

Java:
public static int traceMatrix(int a[][]){
	    int sum = 0;
	    for(int row = 0; row < a.length; row++){
	        for(int col = 0; col <= row; col++){
	           sum += a[row][col];
	        }
	   }
	    return sum;
	}

funktioniert aber leider nicht in Eclipse 🙁 was haltet ihr davon?
 
funktioniert aber leider nicht in Eclipse was haltet ihr davon?
Erstmal ist deine Fehlerbeschreibung ziemlich dürftig. Ich nehme an, es kommt das falsche Ergebnis raus.
Liegt wohl daran, dass die Methode nicht das macht, was sie soll. Kleiner Tipp: Du brauchst nur eine Schleife.
 
um den nun schon mal (unnütz) gebauten Code auch auszuprobieren:

> col = 0; col <= row; col++

col läuft zu hoch? row lässt du nicht ganz so weit laufen
 
Java:
public int getSpur(int matrix[][]){
    int summe = 0;
    for(int i=0; i<matrix.length;i++){
            summe += matrix[i][i];
    }
    return summe;
}
 
Hallo,

wie tfa schon sagte, du brauchst nur eine Schleife.
Überleg mal, du hast eine Quadratische Matrix, und willst immer in die Diagonalelemente.
Also 0,0
1,1
2,2
3,3

Da reicht dir ein Zähler aus um auf diese Elemente zuzugreifen.

Noch ne kleine Anmerkung, da du eine Funktion schreibst die eine beliebige zwei-dimensionale Matrix bekommt, würde ich noch überprüfen ob sie wirklich Quadratisch ist.

Grüße Moon93
 

Zurück
Oben