C语言 用指针实现矩阵转置

您所在的位置:网站首页 矩阵转置的代码怎么写 C语言 用指针实现矩阵转置

C语言 用指针实现矩阵转置

2024-05-31 10:03| 来源: 网络整理| 查看: 265

题目如下 编写一个函数 void transpose(int (*matrix)[10], int n),实现对一个矩阵的前n行和前n列转置。先在主函数中初始化如下矩阵,然后输入n(n temp=*(*(p+i)+j); //二维数组中元素的指针写法 *(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=temp; } } int main() { //如何为二维数组赋初值 int a[10][10] ={ {1 ,3, 5, 7, 9, 6, 5, 4, 3, 2}, {2, 4, 6, 8, 0, 7, 6, 5, 4, 3}, {3, 5, 7, 9, 1, 8, 7, 6, 5, 4}, {4, 6, 8, 0, 2, 9, 8, 7, 6, 5}, {5, 7, 9, 1, 3, 0, 9, 8, 7, 6}, {6, 8, 0, 2, 4, 1, 0, 9, 8, 7}, {7, 9, 1, 3, 5, 2, 1, 0, 9, 8}, {8, 0, 2, 4, 6, 3, 2, 1, 0, 9}, {9, 1, 3, 5, 7, 4, 3, 2 ,1, 0}, {0, 2, 4, 6 ,8, 5, 4, 3, 2, 1} }; int (*p)[10]; //定义数组p指向a p = a; int n; scanf("%d", &n); transpose(p, n); for(int i=0; i printf("%d ", *(*(p+i)+j)); } printf("\n"); //达到输出矩阵的目的 } return 0; }

哎,之前一直出错, 一直达到不了转置的效果, 结果后来发现是引用函数时前面多加了void, 难呀



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3