c言語についての質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
徳竹

c言語についての質問です

#1

投稿記事 by 徳竹 » 16年前

c言語を用いてN×Nの二次元配列の要素を一次元配列にコピーするというプログラムを
以下の様に作ったのですが上手くいきませんどこをどう直せばいいのでしょうか?
本来1,2,3,4,5,6,7,8,9と表示したいのですが3,6,9,0,0,.....,0と表示されてしまいます。
環境はlinux,コンパイラはgccです。低レベルな質問で申し訳ありません、よろしくお願いします。
#include<stdio.h>
#define N 3
 
double a[N][N];
double b[N*N];
 
int main(void)
{int i,j,k=0;
 a[0][0]=1;
 a[0][1]=2;
 a[0][2]=3;
 a[1][0]=4;
 a[1][1]=5;
 a[1][2]=6;
 a[2][0]=7;
 a[2][1]=8;
 a[2][2]=9;

 { for(i=0;i<N;i++)
   {for(j=0;j<N;j++)
     
  b[k]=a[j];
   k++;  
   
   }}
 for(i=0;i<N*N;i++)
   printf("%f\n",b);
 return(0);


}

組木紙織

Re:c言語についての質問です

#2

投稿記事 by 組木紙織 » 16年前

流し見ただけですが、中括弧の位置が違うような気がします

kazuoni

Re:c言語についての質問です

#3

投稿記事 by kazuoni » 16年前

二回目のfor文のとき、三回jをインクリメント→代入→kインクリメント
としています。
for(j=0;j<N;j++)
{
  b[k]=a[j];
  k++;
}

徳竹

Re:c言語についての質問です

#4

投稿記事 by 徳竹 » 16年前

お二人とも素早い回答ありがとうございます。上手くいきました。

閉鎖

“C言語何でも質問掲示板” へ戻る