今天写昨天老是不会下来的题目关于稀疏矩阵的
#include
#include
using namespace std;
#define maxsize 8
#ifndef ABC
#define ABC
typedef struct
{
int i; //行号
int j; //列号
int e; //元素值
}Triple;
typedef struct{
Triple data[maxsize+1]; //data[0]不用
int mu,nu,tu; //行数,列数,元素个数
}TSMatrix;
void CreatTMatrix(TSMatrix &m,ifstream in)
{
in>>m.mu;
in.ignore();
in>>m.nu;
in.ignore();
in>>m.tu;
in.ignore();
int num;
int k=1;
for(int ii=0;ii<m.mu;ii++)
{
for(int jj=0;jj<m.nu;jj++)
{
if(!in.eof())
{
in>>num;
if(num!=0)
{
m.data[k].e=num;
m.data[k].i=ii;
m.data[k].j=jj;
k++;
}
if(k<=m.tu)
in.ignore();
}
}
}
}void main()
{
TSMatrix m1;
ifstream in("M1.txt");
CreatTMatrix(m1,in);
//PrintTMatrix(m1);
in.close();cout<<"ok";
}
ok可以打印出来,但是老是运行不了