# include <iostream>
# include <string>
# include <iomanip>
using namespace std;
struct twodim
{
int r;
int c;
float *a;
};
struct twodim s;
bool init_twodim(twodim&s, int row, int col)
{
//初始化数组
s.r = row;
s.c = col;
s.a = new float[row*col];
if (s.a != NULL)
return 1;
else
return 0;
}
float & val(twodim&s, int i, int j)
{
//返回i行j列的值
return s.a[i*s.c + j];
}
void delete_twodim(twodim &s)
{
//释放数组空间
if (s.a != NULL)
delete[]s.a;
}
inline void print_twodim(twodim&s)
{
//打印数组
for (int i = 0; i < s.r; i++)
{
for (int j = 0; j < s.c; j++)
cout << setw(5) << val(s, i, j) << endl;
}
}
int main()
{
int row, col;
cout << "输入要创建的数组的行和列号:" << endl;
cin >> row >> col;
bool b = init_twodim(s, row, col);
if (b)
{
cout << "输入数组中每个元素的值,一共要输入" << row * col << "个数据" << endl;
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
{
float f;
cin >> f;
val(s, i, j) = f;
}
}
cout << "打印数组:" << endl;
print_twodim(s);
delete_twodim(s);
return 0;
}