質問編集履歴

3

閉じたプログラムとなるように記載を改めました。

2018/01/27 11:03

投稿

DoubutfulGuest
DoubutfulGuest

スコア6

test CHANGED
File without changes
test CHANGED
@@ -25,6 +25,18 @@
25
25
 
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ #include <stdio.h>
32
+
33
+ #include <malloc.h>
34
+
35
+ #include <math.h>
36
+
37
+ #include <stdlib.h>
38
+
39
+
28
40
 
29
41
  double **dmatrix(int nr1, int nr2, int nl1, int nl2){
30
42
 
@@ -68,13 +80,15 @@
68
80
 
69
81
  void fnc1(){
70
82
 
71
-     double **M;
83
+ int i, j, k;
72
84
 
73
- M=dmatrix(1,3,1,3);
85
+ double **M;
74
86
 
75
- k = 1;
87
+ M = dmatrix(1, 3, 1, 3);
76
88
 
89
+ k = 1;
90
+
77
- do{
91
+ do{
78
92
 
79
93
  for (j = 1; j <= 3; j++){
80
94
 
@@ -82,13 +96,13 @@
82
96
 
83
97
  if (i == j) {
84
98
 
85
- M[i][j] = delta[k] / 6;
99
+ M[i][j] = 25 / 6;
86
100
 
87
101
  }
88
102
 
89
103
  else{
90
104
 
91
- M[i][j] = delta[k] / 12;
105
+ M[i][j] = 25 / 12;
92
106
 
93
107
  }
94
108
 
@@ -96,9 +110,9 @@
96
110
 
97
111
  }
98
112
 
99
- k++;
113
+ k++;
100
114
 
101
- }while(k<=400)
115
+ } while (k <= 400);
102
116
 
103
117
  }
104
118
 
@@ -106,7 +120,7 @@
106
120
 
107
121
  int main(){
108
122
 
109
- func1();
123
+ fnc1();
110
124
 
111
125
  }
112
126
 

2

動的確保にかかる部分を追加しました。

2018/01/27 11:03

投稿

DoubutfulGuest
DoubutfulGuest

スコア6

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,51 @@
26
26
 
27
27
  ```
28
28
 
29
+ double **dmatrix(int nr1, int nr2, int nl1, int nl2){
30
+
31
+ int i, nrow, ncol;
32
+
29
- double M[4][4];
33
+ double **a;
34
+
35
+
36
+
37
+ nrow = nr2 - nr1 + 1;
38
+
39
+ ncol = nl2 - nl1 + 1;
40
+
41
+
42
+
43
+ if ((a = malloc(nrow*sizeof(double *))) == NULL){
44
+
45
+ printf("メモリなし(from dmatrix)\n");
46
+
47
+ exit(1);
48
+
49
+ }
50
+
51
+
52
+
53
+ a = a - nr1;
54
+
55
+
56
+
57
+ for (i = nr1; i <= nr2; i++) a[i] = malloc(ncol*sizeof(double));
58
+
59
+ for (i = nr1; i <= nr2; i++) a[i] = a[i] - nl1;
60
+
61
+
62
+
63
+ return(a);
64
+
65
+ }
66
+
67
+
68
+
69
+ void fnc1(){
70
+
71
+     double **M;
72
+
73
+ M=dmatrix(1,3,1,3);
30
74
 
31
75
  k = 1;
32
76
 
@@ -56,7 +100,15 @@
56
100
 
57
101
  }while(k<=400)
58
102
 
103
+ }
59
104
 
105
+
106
+
107
+ int main(){
108
+
109
+ func1();
110
+
111
+ }
60
112
 
61
113
  ```ここに言語名を入力
62
114
 

1

forループの記載を修正しました。

2018/01/27 10:41

投稿

DoubutfulGuest
DoubutfulGuest

スコア6

test CHANGED
File without changes
test CHANGED
@@ -30,9 +30,7 @@
30
30
 
31
31
  k = 1;
32
32
 
33
- do{
33
+ do{
34
-
35
-
36
34
 
37
35
  for (j = 1; j <= 3; j++){
38
36
 
@@ -40,21 +38,21 @@
40
38
 
41
39
  if (i == j) {
42
40
 
43
- M[i][j] = 25 / 6;
41
+ M[i][j] = delta[k] / 6;
44
42
 
45
43
  }
46
44
 
47
45
  else{
48
46
 
49
- M[i][j] = 25/ 12;
47
+ M[i][j] = delta[k] / 12;
50
48
 
51
49
  }
52
50
 
53
- printf("%p\n", &M[i][j]);
54
-
55
51
  }
56
52
 
53
+ }
54
+
57
- k++
55
+ k++;
58
56
 
59
57
  }while(k<=400)
60
58