teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

プログラムの改善

2017/04/26 02:52

投稿

ISARIA
ISARIA

スコア19

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,7 @@
15
15
  return log(x)/x;
16
16
  }
17
17
 
18
- void rect(double a, double b, int n)
18
+ void rect(double a, double b, int n) //区分求積
19
19
  {
20
20
  double h = (b-a)/n;
21
21
  double s = 0.0;
@@ -25,7 +25,7 @@
25
25
  }
26
26
  s *= h;
27
27
 
28
- printf("Rectangle: %g(%g)\n", s);
28
+ printf("Rectangle: %g(%g)\n", s,s/Ans); //()内に誤差を表示
29
29
  }
30
30
 
31
31
  void daikei(double a, double b, int n)
@@ -38,11 +38,11 @@
38
38
  }
39
39
  s *= 0.5*h;
40
40
 
41
- printf("Trapezoid: %g(%g)\n", s);
41
+ printf("Trapezoid: %g(%g)\n", s,s/Ans);
42
42
 
43
43
  }
44
44
 
45
- void simpson(double a, double b, int n)
45
+ void simpson(double a, double b, int n) //シンプソン則
46
46
  {
47
47
  double h = (b-a)/n;
48
48
  double s = 0.0;
@@ -52,7 +52,7 @@
52
52
  }
53
53
  s *= h/6;
54
54
 
55
- printf("Simpson: %g(%g)\n", s);
55
+ printf("Simpson: %g(%g)\n", s,s/Ans);
56
56
  }
57
57
 
58
58
  int main(int argc, char* argv[])
@@ -60,9 +60,9 @@
60
60
  const double a = 1;
61
61
  const double b = 10;
62
62
 
63
- int n1 = atoi(argv[2]);
63
+ int n1 = atoi(argv[1]);
64
- int n2 = atoi(argv[3]);
64
+ int n2 = atoi(argv[2]);
65
- int n3 = atoi(argv[4]);
65
+ int n3 = atoi(argv[3]);
66
66
 
67
67
  printf("Analytical Solution = %g\n",Ans);
68
68
 
@@ -86,4 +86,6 @@
86
86
 
87
87
 
88
88
 
89
+
90
+
89
91
  ```