二次元配列の連結について – プログラミング – Home

二次元配列の連結について
 
通知
すべてクリア

[解決済] 二次元配列の連結について


初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

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]の値がくるよ
うな連結を試しているのですがうまくいきません。
お手数かけますが、どなたかご教授ください。
小生はまだ未熟者のためできればサンプルで教えていただいたら助かります。


引用未解決
トピックタグ
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

質問の意味がよくわかりません。

型も不明ですし、質問された人がわかるように情報を下さい。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

すいません。
説明が下手で申し訳ないです。
w1[i][j]、w2[i][j]は二次元配列であり何らかの値を持っています。
この二つを連結してw3[i][j]を作りたいのですがうまくいかないのです。


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

で,そのw3はどこにあるのですか?

プログラムのコードと「やりたい」と書いているコードに,
接点がないので答えようがないです。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

w3は新しく設けたい二次元配列です。
w1を縦に出力し、その後ろからw2を連結し、出力するものをw3としたいのです。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 22年前
投稿: 196
 

w1, w2, w3 の宣言をどう書いているのですか?


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

double w1[][], w2[][],w3[]
でよろしいでしょうか?間違っていたらすいません。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 22年前
投稿: 196
 

それぞれの次元数は?


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

たとえば
double w1[3][4], w2[3][4],w3[24]
です。


返信引用
ん
 ん
(@ん)
ゲスト
結合: 23年前
投稿: 106
 

横から失礼します。
結局やりたい事がみえないのですが、下記のようにデータが入っていると仮定して
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 ;


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

どうもです。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 ;


返信引用
ER
 ER
(@ER)
ゲスト
結合: 24年前
投稿: 12
 

返信早かったのに急に遅くなりましたね。つっこむところがなくなって一息でしょうか。
これは単純に

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);

でええんや。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

ER様
返信有難うございます。
最後にコンソールに表示したいためprintfを用いたいのですが
printf(%f\n, w3);でよろしいでしょうか。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

できました。
皆さん有難うございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました