回答編集履歴

4

コードの修正

2021/02/28 01:08

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -28,11 +28,9 @@
28
28
 
29
29
 
30
30
 
31
- 「二次元のラプラス方程式の解」というのが何かよく知りませんが、
31
+ 「二次元のラプラス方程式の解」というのが何かよく知りませんが、書いてみました。
32
32
 
33
- ファイル出力をどうすればよいのかを書いてみした。
33
+ ファイル出力をどうすればよいのかの参考になりすか?
34
-
35
- 参考になりますか?
36
34
 
37
35
  ```C
38
36
 
@@ -66,15 +64,17 @@
66
64
 
67
65
 
68
66
 
69
- int iteration(double a[IMAX][JMAX], double b[IMAX][JMAX])
67
+ int iteration(double a[IMAX][JMAX])
70
68
 
71
69
  {
72
70
 
71
+ double b[IMAX][JMAX];
72
+
73
73
  int flag = 0;
74
74
 
75
- for (int i = 1; i < IMAX-1; i++)
75
+ for (int i = 1; i < 4; i++)
76
76
 
77
- for (int j = 1; j < JMAX-1; j++) {
77
+ for (int j = 1; j < 4; j++) {
78
78
 
79
79
  b[i][j] = (a[i-1][j] + a[i][j-1] + a[i][j+1] + a[i+1][j]) / 4;
80
80
 
@@ -120,14 +120,18 @@
120
120
 
121
121
  {
122
122
 
123
- double a[IMAX][JMAX], b[IMAX][JMAX];
123
+ double a[IMAX][JMAX];
124
124
 
125
125
  init(a);
126
126
 
127
- while (iteration(a, b)) ;
127
+ while (iteration(a)) ;
128
128
 
129
129
  print(a);
130
130
 
131
131
  }
132
132
 
133
+
134
+
135
+
136
+
133
137
  ```

3

コードの修正

2021/02/28 01:08

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -50,17 +50,17 @@
50
50
 
51
51
 
52
52
 
53
- void init(double a[IMAX][JMAX], double b[IMAX][JMAX])
53
+ void init(double a[IMAX][JMAX])
54
54
 
55
55
  {
56
56
 
57
- for (int j = 1; j < JMAX-1; j++) a[0][j] = b[0][j] = 100;
57
+ for (int j = 1; j < JMAX-1; j++) a[0][j] = 100;
58
58
 
59
- a[0][0] = a[0][JMAX-1] = b[0][0] = b[0][JMAX-1] = 50;
59
+ a[0][0] = a[0][JMAX-1] = 50;
60
60
 
61
61
  for (int i = 1; i < IMAX; i++)
62
62
 
63
- for (int j = 0; j < JMAX; j++) a[i][j] = b[i][j] = 0;
63
+ for (int j = 0; j < JMAX; j++) a[i][j] = 0;
64
64
 
65
65
  }
66
66
 
@@ -122,7 +122,7 @@
122
122
 
123
123
  double a[IMAX][JMAX], b[IMAX][JMAX];
124
124
 
125
- init(a, b);
125
+ init(a);
126
126
 
127
127
  while (iteration(a, b)) ;
128
128
 

2

コードの修正

2021/02/28 00:57

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -72,9 +72,9 @@
72
72
 
73
73
  int flag = 0;
74
74
 
75
- for (int i = 1; i < 4; i++)
75
+ for (int i = 1; i < IMAX-1; i++)
76
76
 
77
- for (int j = 1; j < 4; j++) {
77
+ for (int j = 1; j < JMAX-1; j++) {
78
78
 
79
79
  b[i][j] = (a[i-1][j] + a[i][j-1] + a[i][j+1] + a[i+1][j]) / 4;
80
80
 

1

コードの修正

2021/02/27 17:44

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  for (int i = 1; i < IMAX; i++)
62
62
 
63
- for (int j = 0; j < JMAX; j++) a[i][j] = 0;
63
+ for (int j = 0; j < JMAX; j++) a[i][j] = b[i][j] = 0;
64
64
 
65
65
  }
66
66