C语言将二维数组A的行和列元素互换,存到二维数组B中

A=123456789101112B=159261037114812... A=1 2 3 4
5 6 7 8
9 10 11 12
B=1 5 9
2 6 10
3 7 11
4 8 12
展开
 我来答
zyh1141298056
2012-04-04 · TA获得超过1308个赞
知道小有建树答主
回答量:500
采纳率:100%
帮助的人:587万
展开全部
void Converse(double **A,int rows,int cols,double **B)
{
B = (double**)malloc(sizeof(double*) * cols);
int i,j;
for(i = 0;i < cols;i++)
B[i] = (double*)malloc(sizeof(double)*rows);
for(i = 0;i < rows;i++)
for(j = 0;j < cols;j++)
B[j][i] = A[i][j];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做一支健康的望日葵
2023-03-10 · 超过34用户采纳过TA的回答
知道答主
回答量:588
采纳率:89%
帮助的人:18.4万
展开全部
这个问题可以用一个双重循环来实现,即遍历二维数组A的每一个元素,并将其赋值给二维数组B的对应位置。例如,如果A是一个2行3列的数组,B是一个3行2列的数组,则有:
for (i = 0; i < 2; i++) //遍历A的每一行{ for (j = 0; j < 3; j++) //遍历A的每一列
{
B[j][i] = A[i][j]; //将A的元素赋值给B的对应位置
}
}

这样就可以实现将二维数组A的行和列元素互换,存到二维数组B中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rlssong
2012-04-04 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:34.9万
展开全部
#include<stdio.h>
#define N 3
#define M 4
void main()
{
static int a[N][M]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int t,i,j;
printf("原矩阵:\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<M;i++)
for(j=0;j<i;j++)
{
t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
printf("转置后的矩阵为:\n");
for (i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式