回答編集履歴
3
説明の修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
コードの投稿の仕方が間違っています。teratail のヘルプを見て質問を書き直してください。
|
2
2
|
|
3
|
-
変数 I が初期化されていま
|
3
|
+
変数 I が初期化されないまま、1.88053 と比較されています。
|
4
4
|
さらに n の初期値が 0 なので `(b - a) / (double)n` がとんでもないことになります。
|
5
5
|
n は 2 から始めないといけないでしょう。
|
6
6
|
|
2
n の初期値について修正
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
コードの投稿の仕方が間違っています。teratail のヘルプを見て質問を書き直してください。
|
2
2
|
|
3
|
-
変数 I
|
3
|
+
変数 I が初期化されていません。
|
4
|
-
|
4
|
+
さらに n の初期値が 0 なので `(b - a) / (double)n` がとんでもないことになります。
|
5
|
-
|
5
|
+
n は 2 から始めないといけないでしょう。
|
6
6
|
|
7
7
|
I が 1.880533 になってほしいということは、
|
8
8
|
I が 1.8805325以上 1.8805335未満になればいいということですから、
|
1
コードの修正
answer
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
{
|
34
34
|
int n = 2;
|
35
35
|
double v = 0;
|
36
|
-
while (fabs(v - 1.880533) > 0.0000005) {
|
36
|
+
while (fabs(v - 1.880533) >= 0.0000005) {
|
37
37
|
v = simpson(0, 0.8, n);
|
38
38
|
printf("%4d %f\n", n, v);
|
39
39
|
n += 2;
|