質問編集履歴

3

訂正

2019/01/12 06:08

投稿

ham33
ham33

スコア15

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,12 @@
18
18
 
19
19
  ```c++
20
20
 
21
+ #define M
22
+
23
+ #define N //数を指定
24
+
25
+
26
+
21
27
  void func(double *a, double *b, int N){
22
28
 
23
29
  //ここで複雑な計算をしてるので書き換えるのは厳しい
@@ -30,13 +36,9 @@
30
36
 
31
37
  int main(void){
32
38
 
33
- double *a = new double;
39
+ double *a = new double[N];
34
40
 
35
- a = new double[N];
36
-
37
- double *b = new double;
41
+ double *b = new double[N];
38
-
39
- b = new double[N];
40
42
 
41
43
 
42
44
 

2

修正

2019/01/12 06:08

投稿

ham33
ham33

スコア15

test CHANGED
File without changes
test CHANGED
@@ -18,9 +18,11 @@
18
18
 
19
19
  ```c++
20
20
 
21
- void func(double *a, int N){
21
+ void func(double *a, double *b, int N){
22
22
 
23
23
  //ここで複雑な計算をしてるので書き換えるのは厳しい
24
+
25
+ //入力がa, 出力をbで受け取るようにしてある
24
26
 
25
27
  }
26
28
 
@@ -32,13 +34,25 @@
32
34
 
33
35
  a = new double[N];
34
36
 
37
+ double *b = new double;
38
+
39
+ b = new double[N];
35
40
 
36
41
 
42
+
43
+
44
+
37
- func(a, N);
45
+ func(a, b, N);
46
+
47
+
48
+
49
+ //ここでbを使ったプログラムが書いてある
38
50
 
39
51
 
40
52
 
41
53
  delete[] a;
54
+
55
+ delete[] b;
42
56
 
43
57
  return 0;
44
58
 
@@ -56,7 +70,7 @@
56
70
 
57
71
  ```c++
58
72
 
59
- void func(double *a, int N){
73
+ void func(double *a, double *b, int N){
60
74
 
61
75
  //関数は書き換えない
62
76
 
@@ -72,17 +86,25 @@
72
86
 
73
87
  }
74
88
 
89
+ double **b= new double *b[N];
90
+
91
+ for(i=0;i<N;i++){
92
+
93
+ b[i] = new double[M];
94
+
95
+ }
96
+
75
97
 
76
98
 
77
99
  func( );//ここに配列の1列分を要素として渡したい
78
100
 
79
101
  //今まではa[N]={1.0,2.0,3.0}を渡してた
80
102
 
81
- //今度は a[N][M]={1.0,2.0,3.0}{4.0,5.0,6.0}の{1.0,2.0,3.0}を渡した
103
+ //今度は a[N][M]={1.0,2.0,3.0}{4.0,5.0,6.0}の{1.0,2.0,3.0}を渡した
82
104
 
83
105
 
84
106
 
85
-
107
+ //ここで出力bを使ったプログラムが書いてある
86
108
 
87
109
 
88
110
 
@@ -90,9 +112,13 @@
90
112
 
91
113
  delete a[i];
92
114
 
115
+ delete b[i];
116
+
93
117
  }
94
118
 
95
119
  delete []a;
120
+
121
+ delete []b;
96
122
 
97
123
  return 0;
98
124
 

1

誤字

2019/01/11 13:07

投稿

ham33
ham33

スコア15

test CHANGED
File without changes
test CHANGED
@@ -92,9 +92,9 @@
92
92
 
93
93
  }
94
94
 
95
- delete a;
95
+ delete []a;
96
96
 
97
- return0;
97
+ return 0;
98
98
 
99
99
  }
100
100