000000
030000
000600
009000
0000120
#include
#include
using namespacestd;
intmain()
{
int number[5][3] = {
{5, 6, 4},//5表示一共5列,6表示6行,4表示有4个非0元素
{1, 1, 3},//记录存储的第一个非0元素的行数,列数和对应的值,后面的含义相同
{2, 3, 6},
{3, 2, 9},
{4, 4, 12}
};
int k;//用来存储非零元素的索引
k = 1;
cout<< "稀疏矩阵" <<endl;
for (int i = 0; i < 5;i++)
{
for (int j = 0; j < 3;j++)
{
cout<<setiosflags(ios::left);
cout<<setw(10)<< number[i][j];
}
cout<<endl;
}
cout<< "还原稀疏矩阵:" <<endl;
for (int i = 0; i < number[0][0];i++)//循环稀疏矩阵的列
{
for (int j = 0; j < number[0][1];j++)//循环稀疏矩阵的行
{
if (k <= number[0][2] && (i == number[k][0]) && (j == number[k][1]))//判断是否为非零元素,如果是非零元素则输出非零元素
{
cout<<setw(5) << number[k][2];
k++;
}
else
cout<<setw(5) << 0;//输出为0的元素
}
cout<<endl;
}
return 0;
}
原文链接: https://www.cnblogs.com/liusuanyatong/p/11259921.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225010
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!