回答編集履歴

2

文言修正

2020/06/30 12:29

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,4 +1,4 @@
1
- コンパイルエラーは出ませんが、`GaussianElimination()`の以下の箇所で`i`が`3`のときに`a`,`A`,`b`に対して範囲外アクセスしていますよ。
1
+ コンパイルエラーは出ませんが、`GaussianElimination()`の以下の箇所で`i`が`3`のときに`a[i]`,`A[i]`,`b[i]`範囲外アクセスしていますよ。
2
2
 
3
3
  ```C++
4
4
 

1

指摘追加

2020/06/30 12:29

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,9 +1,19 @@
1
- コンパイルエラーは出ませんが、`GaussianElimination()`の以下の箇所で範囲外アクセスしていますよ。
1
+ コンパイルエラーは出ませんが、`GaussianElimination()`の以下の箇所で`i`が`3`のときに`a`,`A`,`b`に対して範囲外アクセスしていますよ。
2
2
 
3
3
  ```C++
4
4
 
5
5
  for (int i = k + 1; i <= N; i++) {
6
6
 
7
- int B = a[i][k] / a[k][k]; // aの要素数は3なので、iが3のときに範囲外アクセス
7
+ int B = a[i][k] / a[k][k];
8
+
9
+ for (int j = k + 1; j < N; j++) {
10
+
11
+ A[i][j] = A[i][j] - A[i][k] * A[k][j];
12
+
13
+ }
14
+
15
+ b[i] = b[i] - A[i][k] * b[k];
16
+
17
+ }
8
18
 
9
19
  ```