※ ChatGPTを利用し、要約された質問です(原文:Visual C++ 2005 行列のプログラムがうまくいきません)
Visual C++ 2005 行列のプログラムがうまくいかない
このQ&Aのポイント
Visual C++ 2005 で行列プログラムを作っているが上手くいかない。初心者なので間違えがありそうで、教えていただきたい。
プログラムを実行すると望んでいない結果が出る。正しい結果を教えていただけますか。
matrix[1][1] 1 matrix[1][2] 2 matrix[1][3] 3 matrix[2][1] 4 matrix[2][2] 5 matrix[2][3] 6 matrix[3][1] 7 matrix[3][2] 8 matrix[3][3] 9 の結果が欲しいが、異なる結果になってしまう。
Visual C++ 2005 行列のプログラムがうまくいきません
Visual C++ 2005 で行列プログラムを作っているのですが、上手くいきません。初心者ですのでとても下らない間違えの可能性もありますが、ご教授下さい。
/*matrix*/
#include<stdio.h>
int main(){
int i, j, m[2][2];
for(i=0; i<3; i++){
for(j=0; j<3; j++){
printf("matrix[%d][%d] ",i+1, j+1);
scanf("%d",&m[i][j]);
}
}
printf("matrix\n");
for(i=0; i<3; i++){
for(j=0; j<3; j++){
printf("%d ",m[i][j]);
}
printf("\n");
}
printf("transposed matrix\n");
for(i=0; i<3; i++){
for(j=0; j<3; j++){
printf("%d ",m[j][i]);
}
printf("\n");
}
}
とプログラムし、デバックなしで開始すると。
matrix[1][1] 1
matrix[1][2] 2
matrix[1][3] 3
matrix[2][1] 4
matrix[2][2] 5
matrix[2][3] 6
matrix[3][1] 7
matrix[3][2] 8
matrix[3][3] 9
matrix
1 2 4
4 5 7
7 8 9
transposed matrix
1 4 7
2 5 8
4 7 9
続行するには何かキーを押してください . . .
となってしまいます。
予定では
matrix[1][1] 1
matrix[1][2] 2
matrix[1][3] 3
matrix[2][1] 4
matrix[2][2] 5
matrix[2][3] 6
matrix[3][1] 7
matrix[3][2] 8
matrix[3][3] 9
matrix
1 2 3
4 5 6
7 8 9
transposed matrix
1 4 7
2 5 8
3 6 9
続行するには何かキーを押してください . . .
となって欲しいのですが。何処が間違っているんでしょうか。できれば正しいプログラムまで載せていただけると助かります。
お礼
どうもありがとう御座います。この場合は添字ではなく要素の数を入れるのだということを失念していました。