2次元配列があり、その配列の一列分を
要素として関数に渡したいです。
関数は1次元でかかれていて、かなり複雑なので
それを2次元に書き換えるより、2次元の配列の1次元を
要素として関数に渡せることができればと考えました。
現在
c++
1#define M 2#define N //数を指定 3 4void func(double *a, double *b, int N){ 5 //ここで複雑な計算をしてるので書き換えるのは厳しい 6 //入力がa, 出力をbで受け取るようにしてある 7} 8 9int main(void){ 10double *a = new double[N]; 11double *b = new double[N]; 12 13 14func(a, b, N); 15 16//ここでbを使ったプログラムが書いてある 17 18delete[] a; 19delete[] b; 20return 0; 21}
のようにしてあります。かなり端的に書いたので、不十分な点がありましたら
申し訳ございません。これを多次元にしてある配列を用意し、
その一列分を渡したいです。
c++
1void func(double *a, double *b, int N){ 2//関数は書き換えない 3} 4int main(void){ 5double **a= new double *a[N]; 6 for(i=0;i<N;i++){ 7 a[i] = new double[M]; 8 } 9double **b= new double *b[N]; 10 for(i=0;i<N;i++){ 11 b[i] = new double[M]; 12 } 13 14func( );//ここに配列の1列分を要素として渡したい 15//今まではa[N]={1.0,2.0,3.0}を渡してた 16//今度は a[N][M]={1.0,2.0,3.0}{4.0,5.0,6.0}の{1.0,2.0,3.0}を渡した 17 18//ここで出力bを使ったプログラムが書いてある 19 20for(i=0;i<N;i++){ 21 delete a[i]; 22 delete b[i]; 23} 24delete []a; 25delete []b; 26return 0; 27} 28 29 30 31

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/12 06:22
2019/01/12 06:48
2019/01/12 06:58