求大神帮忙

来源:互联网 发布:java 手机号验证 编辑:程序博客网 时间:2024/05/18 01:31
template <int N>
struct Matrix 
{
float data[N][N];


Matrix operator+(Matrix s) 
{
Matrix m;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
{
m.data[i][j] = f.data[i][j] + s.data[i][j];
}
return m;
}
Matrix operator-(Matrix);
Matrix operator*(Matrix);


void save_to_file(ofstream& os);
void load_from_file(ifstream& is);
};




template <class T> 
class DynamicMatrix 
{
int row;
int col; 
float* data; 


public:
DynamicMatrix(int p_row, int p_col)
{
row = p_row;
col = p_col;
data = new float[col * row];
}
float get(int i, int j)
{
return data[i+j*col];
}
void set(int i, int j, float d)
{
data[i + j*col] = d;
}
void print()
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
cout << get(j, i) << " ";
}
cout << endl;
}
}


DynamicMatrix operator+(DynamicMatrix m)
{
DynamicMatrix o(row, col);

for (int i = 0; i < col; i ++)
for (int j = 0; j < row; j++)
{
o.set(i, j, get(i, j) + m.get(i, j));
}
return o;
}


void load_from_file(ifstream& is)
{
is >> row;
is >> col;
data = new float[row * col];
for (int i = 0; i < col; i++)
for (int j = 0; j < row; j++)
{
float tmp;
is >> tmp;
set(j, i, tmp);
}
}


void save_to_file(ofstream& os);
DynamicMatrix operator-(DynamicMatrix m);
DynamicMatrix operator*(DynamicMatrix m);
};
原创粉丝点击