for ( i = 0; i < NUM_1+1; i++){
{
for ( j = 0; j < NUM_2; j++)
fprintf(fp2, %lf \n ,w1[i][j]);
}
}
fprintf(fp2, \n);
for ( i = 0; i < NUM_2; i++){
for ( j = 0; j < NUM_3; j++)
{
fprintf(fp2, %lf\n ,w2[i][j]);
}
}
w1[i][j]、w2[i][j]には値が入るのですが、w1[i][j]の次にすぐw2[i][j]の値がくるよ
うな連結を試しているのですがうまくいきません。
お手数かけますが、どなたかご教授ください。
小生はまだ未熟者のためできればサンプルで教えていただいたら助かります。
質問の意味がよくわかりません。
型も不明ですし、質問された人がわかるように情報を下さい。
すいません。
説明が下手で申し訳ないです。
w1[i][j]、w2[i][j]は二次元配列であり何らかの値を持っています。
この二つを連結してw3[i][j]を作りたいのですがうまくいかないのです。
で,そのw3はどこにあるのですか?
プログラムのコードと「やりたい」と書いているコードに,
接点がないので答えようがないです。
w3は新しく設けたい二次元配列です。
w1を縦に出力し、その後ろからw2を連結し、出力するものをw3としたいのです。
w1, w2, w3 の宣言をどう書いているのですか?
double w1[][], w2[][],w3[]
でよろしいでしょうか?間違っていたらすいません。
それぞれの次元数は?
たとえば
double w1[3][4], w2[3][4],w3[24]
です。
横から失礼します。
結局やりたい事がみえないのですが、下記のようにデータが入っていると仮定して
w3 には、どのようなデータが入るようにしたいのでしょうか。
double w1[3][4] ;
double w2[3][4] ;
double w3[24] ;
w1[0][0] = 1 ;
w1[0][1] = 2 ;
w1[0][2] = 3 ;
w1[0][3] = 4 ;
w1[1][0] = 5 ;
w1[1][1] = 6 ;
w1[1][2] = 7 ;
w1[1][3] = 8 ;
w1[2][0] = 9 ;
w1[2][1] = 10 ;
w1[2][2] = 11 ;
w1[2][3] = 12 ;
w2[0][0] = 13 ;
w2[0][1] = 14 ;
w2[0][2] = 15 ;
w2[0][3] = 16 ;
w2[1][0] = 17 ;
w2[1][1] = 18 ;
w2[1][2] = 19 ;
w2[1][3] = 20 ;
w2[2][0] = 21 ;
w2[2][1] = 22 ;
w2[2][2] = 23 ;
w2[2][3] = 24 ;
どうもです。w3には
w1とw2をくっつけたいのです。
w1が終わったらw2といったように。んさんのかかれた以下の流れがw3としたいのです。
w1[0][0] = 1 ;
w1[0][1] = 2 ;
w1[0][2] = 3 ;
w1[0][3] = 4 ;
w1[1][0] = 5 ;
w1[1][1] = 6 ;
w1[1][2] = 7 ;
w1[1][3] = 8 ;
w1[2][0] = 9 ;
w1[2][1] = 10 ;
w1[2][2] = 11 ;
w1[2][3] = 12 ;
w2[0][0] = 13 ;
w2[0][1] = 14 ;
w2[0][2] = 15 ;
w2[0][3] = 16 ;
w2[1][0] = 17 ;
w2[1][1] = 18 ;
w2[1][2] = 19 ;
w2[1][3] = 20 ;
w2[2][0] = 21 ;
w2[2][1] = 22 ;
w2[2][2] = 23 ;
w2[2][3] = 24 ;
返信早かったのに急に遅くなりましたね。つっこむところがなくなって一息でしょうか。
これは単純に
double w1[3][4], w2[3][4],w3[24]; //だとすると、
memcpy(w3, w1, sizeof(double)*3*4);
memcpy(w3+(3*4), w2, sizeof(double)*3*4);
でええんや。
ER様
返信有難うございます。
最後にコンソールに表示したいためprintfを用いたいのですが
printf(%f\n, w3);でよろしいでしょうか。
できました。
皆さん有難うございました。