"transpose"関数を使って3x3整数行列を転置すると思われるCコードを書きました。しかし、コードに何か問題がありますが、私はそれを理解することはできません。誰かが間違いを特定するのを助けることができますか?このプログラムをどのようにデバッグできますか?
#include <stdio.h>
int a[3][3];
void main()
{
int i, j;
void transpose(int x[3][3]);
printf("Enter a 3x3 matrix:\n");
for (i = 0; i <= 2; i++)
;
{
for (j = 0; j <= 2; j++)
;
{
scanf_s("%d", &a[i][j]);
}
}
printf("The original matrix is:\n");
for (i = 0; i <= 2; i++)
printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
transpose(a);
printf("The transposed matrix is:\n");
for (i = 0; i <= 2; i++)
printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
getchar();
getchar();
}
void transpose(int x[3][3])
{
int t;
t = x[1][0];
x[1][0] = x[0][1];
x[0][1] = t;
t = x[2][0];
x[2][0] = x[0][2];
x[0][2] = t;
t = x[2][1];
x[2][1] = x[1][2];
x[1][2] = t;
}
何かが間違っていることをどうやって知っていますか?コンパイラエラーまたはランタイムエラーが発生しますか?エラーは何ですか?また、C/C++は言語ではありません.CまたはC++を選択してください。 –
woe and behold - シンプルなインデントが適用され、問題は私たちの顔を真っすぐに見つめます。 'for'ループは何もしません。 – StoryTeller
' for(i = 0; i <= 2; i ++); 'これは空のループです。 3回何もしません。セミコロンを削除してみてください(このバグは2回表示されます) –