洛奇 台词:稀疏矩阵的建立和转置
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 01:46:02
#include
struct tuple3tp /*稀疏矩阵的建立和转置*/
{
int i,j;
int v;
}; struct sparmattp
{
int mu,nu,tu;
struct tuple3tp data[31]; }; struct sparmattp a,b; void creat_sparmat()//稀疏矩阵的建立
{
int i;
printf("输入稀疏矩阵行值,列值,非零元个数(以空格分开):\n");
scanf("%d%d%d",&a.mu,&a.nu,&a.tu);
for(i=1;i<=a.tu;i++)
{
printf("输入行坐标,列坐标,非零元素(以空格分开)\n");
scanf("%d%d%d",&a.data[i].i,&a.data[i].j,&a.data[i].v);
} } void trans_sparmat()
{
int col,p,q;
b.mu=a.nu;
b.nu=a.mu;
b.tu=a.tu;
if(b.tu!=0)
{
q=1;
for(col=1;col<=a.nu;col++)
for(p=1;p<=a.tu;p++)
if (a.data[p].j==col)
{
b.data[q].i=a.data[p].j;
b.data[q].j=a.data[p].i;
b.data[q].v=a.data[p].v;
q++;
} }
} void print(struct sparmattp x)//矩阵的输出
{
int i,j,k,flag;
for(i=1;i<=x.mu;i++)
{
for(j=1;j<=x.nu;j++)
{
flag=0;
for(k=1;k<=x.tu;k++)
{
if(((x.data[k].i)==i)&&((x.data[k].j)==j))
{
flag=1;
printf("%5d",x.data[k].v);
}
} if(flag==0)printf(" 0"); } printf("\n"); } } void main()
{int f=1;
while(f)
{
printf("稀疏矩阵的建立与转置\n");
creat_sparmat();
trans_sparmat();
printf("原矩阵为:\n");
print(a);
printf("转置矩阵为:\n");
print(b);
printf("是否继续:任意键数字键1-9继续/数字0结束\n");
scanf("%d",&f);
}
}
struct tuple3tp /*稀疏矩阵的建立和转置*/
{
int i,j;
int v;
}; struct sparmattp
{
int mu,nu,tu;
struct tuple3tp data[31]; }; struct sparmattp a,b; void creat_sparmat()//稀疏矩阵的建立
{
int i;
printf("输入稀疏矩阵行值,列值,非零元个数(以空格分开):\n");
scanf("%d%d%d",&a.mu,&a.nu,&a.tu);
for(i=1;i<=a.tu;i++)
{
printf("输入行坐标,列坐标,非零元素(以空格分开)\n");
scanf("%d%d%d",&a.data[i].i,&a.data[i].j,&a.data[i].v);
} } void trans_sparmat()
{
int col,p,q;
b.mu=a.nu;
b.nu=a.mu;
b.tu=a.tu;
if(b.tu!=0)
{
q=1;
for(col=1;col<=a.nu;col++)
for(p=1;p<=a.tu;p++)
if (a.data[p].j==col)
{
b.data[q].i=a.data[p].j;
b.data[q].j=a.data[p].i;
b.data[q].v=a.data[p].v;
q++;
} }
} void print(struct sparmattp x)//矩阵的输出
{
int i,j,k,flag;
for(i=1;i<=x.mu;i++)
{
for(j=1;j<=x.nu;j++)
{
flag=0;
for(k=1;k<=x.tu;k++)
{
if(((x.data[k].i)==i)&&((x.data[k].j)==j))
{
flag=1;
printf("%5d",x.data[k].v);
}
} if(flag==0)printf(" 0"); } printf("\n"); } } void main()
{int f=1;
while(f)
{
printf("稀疏矩阵的建立与转置\n");
creat_sparmat();
trans_sparmat();
printf("原矩阵为:\n");
print(a);
printf("转置矩阵为:\n");
print(b);
printf("是否继续:任意键数字键1-9继续/数字0结束\n");
scanf("%d",&f);
}
}
编程求一个15×15浮点稀疏矩阵的转置矩阵
pascal稀疏矩阵
c语言:稀疏矩阵的相加的实现
设计稀疏矩阵相乘的程序,规定只存非0元素。
在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为 参数
matlab怎样遍历稀疏矩阵
编一算法,采用顺序存储方式实现稀疏矩阵M1和M2相加的运算,运算结果由变量M返回.
矩阵和逆矩阵的概念
正交矩阵的和
完成两个采用压缩存储的稀疏矩阵M*N相加
请C语言高手帮忙编写两个稀疏矩阵相加的程序,急!!!
那个高手可以帮我做个稀疏矩阵相乘的程序
转置矩阵的C++算法
数组编程:求一个二维矩阵的转置矩阵灭迹将远矩阵行列互换的结果。
数组编程:求一个二维矩阵的转置矩阵,即将原矩阵行列互换的结果。
编一个程序输入一个5*5的矩阵的所有数,判断此矩阵是否为对称矩阵,若不是,则求它的转置矩阵。要求:
矩阵和硬盘录像机的区别
矩阵和行列式的区别
哪个c语言的高手帮我弄个稀疏矩阵与特殊矩阵运算器的程序吧!急死我了啊
矩阵的转置的行列式=矩阵本身的行列式?
c语言编程问题:矩阵的建立与运算
编程序:按如下方法求A矩阵的转置矩阵B:
这个程序是在编一个15×15稀疏矩阵吗?
[急]追加15悬赏分:求pascal稀疏矩阵