C语言编程实现,将4*4阶矩阵转置

要求用到指针,并且调用函数... 要求用到指针,并且调用函数 展开
 我来答
金色潜鸟
2012-12-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:6022万
展开全部
按要求用指针:
#include <stdio.h>
void trans( int *p, int n){
int i,j,t;
for(j=0;j<n;j++)
{
for(i=j+1;i<n;i++)
{
t = p[j*n+i];
p[j*n+i] = p[i*n+j];
p[i*n+j] = t;
};
};

}
main() {
int p[4][4]= {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
printf("before:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}
trans(&p[0][0],4); // 调用
printf("After:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}

return 0;
}
xoaxa
2012-12-10 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3631万
展开全部
/*
转置前 :
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
转置后 :
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
*/
#include <stdio.h>
#define N 4
void Transpose(int a[][N]) {
int i,j,t;
for(i = 0; i < N - 1; ++i) {
for(j = i + 1; j < N; ++j) {
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
}

void Show(int a[][N]) {
int i,j;
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%4d",a[i][j]);
printf("\n");
}
}

int main() {
int a[N][N] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
printf("转置前 :\n");
Show(a);
Transpose(a);
printf("转置后 :\n");
Show(a);
getchar();
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappr2SpNDNH1QLql
2012-12-10 · TA获得超过1013个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:318万
展开全部
这个在教科书上应该就有的(我以前学VC++时,教科书上就有这个)。你要是学生的话就回去翻书。
下面是知道里的
http://zhidao.baidu.com/question/54045815.html

http://zhidao.baidu.com/question/46495742.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式