2017-06-10 20 views
0

Ich versuche, eine Matrix Determinante Rechner zu machen, aber ich habe irgendwann stecken geblieben. Könnte jemand hier darauf hinweisen, wo das Problem mit meinem Code liegt? würde sehr geschätzt werden.JavaScript Determinant Rechner

<!DOCTYPE html> 
<html> 
<script> 
function det3x3(){ 
var mat[[],[],[]], i, j, sum, s; 
for (i = 0; i < 3; i++) 
    for (j = 0; j < 3; j++){ 
      s = i*3+j+1; 
      mat[i][j] = parseFloat(document.getElementById("num" + s).value); 
    } 

sum = mat[0][0]*mat[1][1]*mat[2][2]+mat[1][0]*mat[2][1]*mat[0][3]+mat[2] 
[0]*mat[0][1]*mat[1][2]-mat[0][2]*mat[1][1]*mat[2][0]-mat[1][2]*mat[2] 
[1]*mat[0][0]-mat[2][2]*mat[0][1]*mat[1][0]; 

document.getElementById("result").innerHTML=sum; 
} 
</script> 
<body> 
<input type="text" id="num1" value="0"> 
<input type="text" id="num2" value="0"> 
<input type="text" id="num3" value="0"> 
<br> 
<input type="text" id="num4" value="0"> 
<input type="text" id="num5" value="0"> 
<input type="text" id="num6" value="0"> 
<br> 
<input type="text" id="num7" value="0"> 
<input type="text" id="num8" value="0"> 
<input type="text" id="num9" value="0"> 

<br><br> 

<button type="button" id="asd" onclick=”det3x3()">calculate</button> 

<br><br> 
result: 
<span id="result"></span> 
</body> 
</html> 
+0

Lets beginnen von 'Onclick = "det3x3()"' – MaxZoom

Antwort

0

Sie haben einen Syntaxfehler in der Variablendeklaration:

var mat[[],[],[]] 

sollte sein:

var mat = [[],[],[]] 

Und Sie verweisen auf ein Array-Element, das nicht existiert:

mat[0][3] 

sollte sein:

mat[0][2] 

Schließlich hat der HTML-Code ein schlechtes geschweiften Zitat :

onclick=”det3x3()" 

sein sollte:

onclick="det3x3()" 
+0

@MaxZoom es war wie 3 Uhr morgens und ich war über 24 Stunden wach. Fehler passieren. + Es wird nicht von irgendwoher kopiert. Ich tippte es auf ein Telefon. – Damirb

+0

@trincot danke Kumpel. Ich habe das schlechte Lockige und das Array-Element korrigiert, nachdem ich das gepostet habe, aber nur die Definition des Arrays übersehen habe. Hat viel geholfen, sehr geschätzt. – Damirb

Verwandte Themen