C编程写一个函数,使给定的一个二维数组(3*4)进行转置,即行列在、互换,并输出转置前后的结果.(函数)

 我来答
科技程序迷
推荐于2018-04-30 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1815万
展开全部
b[j] [i]=a[i] [j]这就是实现矩阵转置了。i行j列与j行i列进行交换,使用中间变量来实现交换值。
更多追问追答
追问
float f(int b[4][3])
{
int i,j,t;
int a[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
a[i][j]=i+j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
b[i][j]=a[j][i];
for(i=0;i<4;i++)
for(j=0;j<3;j++)
t=b[i][j];
return(t);
}
void main()
{
int i,j,t;
t=f(t);
printf("%d",t);
}
追答
那个t=f(t)写错了,t不是一个数组,所以你传给f函数的参数有误,另外printf()这样写,是无法输出数组结果的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
02p2uvkpb
2011-04-25 · TA获得超过1247个赞
知道小有建树答主
回答量:1433
采纳率:0%
帮助的人:880万
展开全部
你这个是转置吗?先输入一个矩阵A m*n阶的,转置里面应先初始化一个矩阵B n*m的 记得要先初始化哦!然后利用for循环两层i,j
for i=0:n-1
for j=0:m-1
B(i,j)=B(j,i); 然后就行了试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haopo3
2011-04-24 · 超过13用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:24.3万
展开全部
//数组a[2][3]已知
int b[3][2],i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
追问
float f(int b[4][3])
{
int i,j,t;
int a[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
a[i][j]=i+j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
b[i][j]=a[j][i];
for(i=0;i<4;i++)
for(j=0;j<3;j++)
t=b[i][j];
return(t);
}
void main()
{
int i,j,t;
t=f(t);
printf("%d",t);
}
哪错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户90197
2011-04-24
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
是嘎嘎发给
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式