假设我们有一个matrix.txt文件矩阵,存储这样的:C++矩阵动态2D arrray
,我们希望把它改造成:
数字8(第一个数字)表示二维数组有多大。之后,它的意思是: 1被连接到2(连接的值是1时,它总是1) 1连接到8 3被连接到4
而当转化到2D动态阵列,我们希望在ARRRAY 0,1 ... 0,7 ... 2,3中的值为1,所以(我没有使用方括号,因为stackoverflow将它们作为链接读取)。
int number;
int **a = new int*[number];
for (int i = 0; i<number; i++) {
a[i] = new int[number];
}
for (int i = 0; i<number; i++) {
delete[]a[i];
}
delete[]a;
string line;
ifstream myfile("matrix.txt");
if (myfile.is_open())
{
getline(myfile, line);
istringstream(line)>> number;
while (getline(myfile, line)){
cout << line << '\n';
//HERE I SHOULD TURN THOSE NUMBERS INTO VALUES IN 2D ARRAY
}
myfile.close();
}
所以我的问题是:我如何把这个数字变成矩阵二维数组?
谢谢
当它尝试这种方式时,我得到一个错误,说a是未定义的。 –
我所提供的全部是'//这里我应该把这些数字转化为二维数组中的值“以及围绕它的while循环。您仍然需要其余的代码来定义'a'并打开文件。 – user4581301
除非你想要矩阵版本。在这种情况下,你需要'矩阵(数字,数字);'来想一想,你的数组定义中有一个令人讨厌的错误。编辑来帮助你解决这个问题。 – user4581301