2017-06-10 36 views
0

私は行列式の計算機を作ろうとしていますが、ある時点で固まってしまいました。ここの誰かが私のコードの問題点を指摘できますか?大いに感謝します。JavaScript Determinant Calculator

<!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

'onclickの= "det3x3()"' – MaxZoom

答えて

0

あなたは変数宣言に構文エラーがあります。

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

は次のようになります。

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

そして、あなたは存在しない配列要素を参照します。

mat[0][3] 

は次のとおりです。

mat[0][2] 

最後に、HTMLコードが悪いカーリー引用ました:

onclick=”det3x3()" 

は次のようになります。

onclick="det3x3()" 
+0

@MaxZoomから始めることができますそれは午前3時のようでした、私は24時間以上起きていました。間違いが起こります。 +どこからでもコピーされません。私はそれを電話で打ちました。 – Damirb

+0

@trincotありがとう。私はこれを投稿した後、悪いcurlyと配列要素を修正しましたが、配列の定義を見落としました。多くの助け、非常に感謝します。 – Damirb