n阶矩阵求转置矩阵 c语言

送分了用c语言实现n阶矩阵的转置问题这个题目应该有很多人做过吧... 送分了
用c语言实现n阶矩阵的转置问题
这个题目应该有很多人做过吧
展开
 我来答
keefo
推荐于2016-02-24 · TA获得超过517个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:559万
展开全部
#include <stdio.h>
#define MAX 100
int Array[MAX][MAX];
int n;
void takePlace()
{
int i,j,t;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
{
t=Array[i][j];
Array[i][j]=Array[j][i];
Array[j][i]=t;
}
}

int main()
{
int i,j;
printf("please size of matrix:\n");
scanf("%d",&n);
printf("please enter %d numbers:\n",n*n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&Array[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3d",Array[i][j]);
printf("\n");
}
printf("Now,change the position of Array.......\n");
takePlace( );

printf("The result of change:\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%3d",Array[i][j]);

printf("\n");
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
intsafe
2008-02-20 · TA获得超过264个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:0
展开全部
#define MAXINT 1000000001L
#include<malloc.h>
void main()
{
long *m;
int *s;
int mtrx[6][2]={{30,35},{35,15},{15,5},{5,10},{10,20},{20,25}};

int i,j,no;
m=malloc(36*sizeof(long));
s=malloc(36*sizeof(int));
mmo(mtrx,6,m,s);

for(i=0;i<6;i++)
{
printf("\n");
for(j=0;j<6;j++)
{
no=j*6+i;
if(i<=j)
{
printf("%10ld",m[no]);
}
else
{
printf(" ");
}
}

}

getch();

}
int mmo(int *mtrx,int n,long *m,int *s)
{
int i,j,k,l,no;
long q;

for(i=0;i<n;i++)
{
m[i*n+i]=0L;
}
/* matrices range from 2 to n.*/
for(l=2;l<=n;l++)
{
/*Do with all m[i,x].*/
/*C array is 0-based.*/
for(i=0;i<=n-l;i++)
{
j=i+l-1;
m[j*n+i]=MAXINT;

/*All cut positions.*/
for(k=i;k<j;k++)
{
q=m[k*n+i]+m[j*n+k+1]+mtrx[i+i]*mtrx[k+k+1]*mtrx[j+j+1];
no=j*n+i;
if(q<m[no])
{
m[no]=q;
s[no]=k;
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
友央耿硕
2019-06-03 · TA获得超过3701个赞
知道大有可为答主
回答量:3071
采纳率:30%
帮助的人:162万
展开全部
#include
<stdio.h>
#define
MAX
100
int
Array[MAX][MAX];
int
n;
void
takePlace()
{
int
i,j,t;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
{
t=Array[i][j];
Array[i][j]=Array[j][i];
Array[j][i]=t;
}
}
int
main()
{
int
i,j;
printf("please
size
of
matrix:\n");
scanf("%d",&n);
printf("please
enter
%d
numbers:\n",n*n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&Array[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3d",Array[i][j]);
printf("\n");
}
printf("Now,change
the
position
of
Array.......\n");
takePlace(
);
printf("The
result
of
change:\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%3d",Array[i][j]);
printf("\n");
}
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式