#include<stdio.h>
int main()
{
void transpose(int (*pt1)[3], int (*pt2)[3]);
int a[3][3];
int (*p1)[3]=a;//定义一个指针变量,指向包含3个元素的一维数组的指针变量;
int b[3][3];
int (*p2)[3]=b;
int i = 0, j = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf_s("%d", *(p1 + i) + j);
printf("原来的矩阵为:\n");
for ( i = 0; i < 3; i++)
for ( j = 0; j < 3; j++)
{
printf("%d ", *(*(p1 + i) + j));
if (j == 2)
printf("\n");
}
transpose(p1, p2);
printf("转置后的矩阵为:\n");
for ( i = 0; i < 3; i++)
for ( j = 0; j < 3; j++)
{
printf("%d ", *(*(p2 + i) + j));
if (j == 2)
printf("\n");
}
return 0;
}
void transpose(int(*pt1)[3], int(*pt2)[3])
{
for ( int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
*(*(pt2 + j) + i)=(*(*(pt1 + i) + j));
}
int main()
{
void transpose(int (*pt1)[3], int (*pt2)[3]);
int a[3][3];
int (*p1)[3]=a;//定义一个指针变量,指向包含3个元素的一维数组的指针变量;
int b[3][3];
int (*p2)[3]=b;
int i = 0, j = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf_s("%d", *(p1 + i) + j);
printf("原来的矩阵为:\n");
for ( i = 0; i < 3; i++)
for ( j = 0; j < 3; j++)
{
printf("%d ", *(*(p1 + i) + j));
if (j == 2)
printf("\n");
}
transpose(p1, p2);
printf("转置后的矩阵为:\n");
for ( i = 0; i < 3; i++)
for ( j = 0; j < 3; j++)
{
printf("%d ", *(*(p2 + i) + j));
if (j == 2)
printf("\n");
}
return 0;
}
void transpose(int(*pt1)[3], int(*pt2)[3])
{
for ( int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
*(*(pt2 + j) + i)=(*(*(pt1 + i) + j));
}