最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
稀疏矩阵的转置
时间:2022-07-02 11:03:06 编辑:袖梨 来源:一聚教程网
最好用tc2.0汉化的
#include
#define N 10
typedef struct{
int i,j;
int e;
}tsMatrix;
typedef struct{
tsMatrix data[N];/*最大长度为N */
int mu,nu,tu;
}TSMatrix;
int FastTransposeSMatrix(TSMatrix M,TSMatrix *T)
{
int col,p,q,t;
int num[N],cpot[N];
T->mu=M.nu;T->nu=M.mu;T->tu=M.tu;
if(T->tu)
{
for(col=1;col<=M.nu;++col) num[col]=0;
for(t=1;t<=M.tu;++t) ++num[M.data[t].j];
cpot[1]=1;
for(col=2;col<=M.nu;++col)
cpot[col]=cpot[col-1]+num[col-1];
for(p=1;p<=M.tu;++p)
{ col=M.data[p].j;q=cpot[col];
T->data[q].i=M.data[p].j;T->data[q].j=M.data[p].i;
T->data[q].e=M.data[p].e;++cpot[col];
}
}
}
void printM(TSMatrix *M)
{
int p,q;int t=1;
for(p=1;p<=M->mu;p++)
{
for(q=1;q<=M->nu;q++)
{if(M->data[t].i==p&&M->data[t].j==q)
{printf("%d ",M->data[t].e);t++;}
else printf("0 ");}
printf("n");} printf("nn");
}
void main()
{
TSMatrix A,T;int k;
printf("请输入矩阵的大小:");
printf("它的行:");scanf("%d",&A.mu);
printf("它的列:");scanf("%d",&A.nu);
printf("请输入不超过10且不为0的长度:");scanf("%d",&A.tu);
for(k=1;k<=A.tu;k++)
{printf("请输入第 %d 个数的情况:n",k);
printf("它所在的行位置:");scanf("%d",&A.data[k].i);
printf("它所在的列位置:");scanf("%d",&A.data[k].j);
printf("它的值:");scanf("%d",&A.data[k].e);
}
printf("n原矩阵:n");
printM(&A);
FastTransposeSMatrix(A,&T);
printf("转置后的矩阵:n");
printM(&T);
}
相关文章
- 《原神》5.2卡池抽取建议 11-14
- 《原神》5.2版本新怪物介绍 11-14
- 《原神》希诺宁增伤触发方法 11-14
- 《原神》循音觅奇活动入口 11-14
- 《原神》循音觅奇兑换码获取方法 11-14
- 《原神》花羽会活动飞行技巧介绍 11-14
热门栏目
-
php教程
php入门 php安全 php安装 php常用代码 php高级应用 -
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService -
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 -
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 -
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT -
办公数码
word excel powerpoint 金山WPS 电脑新手 -
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码