给定一个稀疏矩阵A(float型),其尺寸为mxn,建立其对应的三元组存储,并通过三元组打印输出矩阵A

编程入门 行业动态 更新时间:2024-10-15 02:26:51

给定一个稀疏<a href=https://www.elefans.com/category/jswz/34/1769510.html style=矩阵A(float型),其尺寸为mxn,建立其对应的三元组存储,并通过三元组打印输出矩阵A"/>

给定一个稀疏矩阵A(float型),其尺寸为mxn,建立其对应的三元组存储,并通过三元组打印输出矩阵A

题目:给定一个稀疏矩阵A(float型),其尺寸为mxn,建立其对应的三元组存储,并通过三元组打印输出矩阵A。

思路:扫描矩阵A,将矩阵A中非零元素的个数、非零元素的值、以及非零元素在原数组中的位置,存到建立的三元组B中。

建立三元组B

/*建立三元组B*/
void createtrimat(float A[][maxSize], int m, int n, float B[][3]){int k=1;for(int i=0;i<m;++i)for(int j=0;j<n;++j)if(A[i][j]!=0){B[k][0]=A[i][j];B[k][1]=i;B[k][2]=j;++k;}B[0][0]=k-1;B[0][1]=m;B[0][2]=n;
}

通过三元组打印矩阵A

/*通过三元组打印矩阵A*/
void print(float B[][3]){int k;for(int i=0;i<B[0][1];++i){for(int j=0;j<B[0][2];++j){if(i==(int)B[k][1] && j==(int)B[k][2]){cout<<B[k][0]<<" ";++k;}elsecout<<"0 ";}cout<<endl;}
}

在某函数体中的调用

/*在某函数体中的调用*/
{…createtrimat(A,5,4,B); //A为5x4的矩阵print(B);…
}

更多推荐

给定一个稀疏矩阵A(float型),其尺寸为mxn,建立其对应的三元组存储,并通过三元组打印输出矩阵A

本文发布于:2024-02-26 09:16:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701993.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:矩阵   稀疏   尺寸为   float   mxn

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!