如何读取文件并将内容存储在动态2D数组中并以网格格式显示?

时间:2019-04-22 03:23:18

标签: c++ arrays dynamic 2d

我有一个文件(input2.txt),看起来像这样:(https://imgur.com/a/Ey4qBpw

我想打开该文件并将其存储在二维动态数组中。这是在函数主创建动态数组中(不要问为什么即使定义了动态数组也要动态,idk为什么):(https://imgur.com/a/k0W2189

这里是打开文件,对其进行处理,然后(尝试)将内容放入数组:(https://imgur.com/a/orA2Atq

问题的第二部分是如何向用户显示该数组?这就是我需要的功能:(https://imgur.com/a/11cHp2K

这些是我拥有的图书馆:(https://imgur.com/a/EgQPxM2

最后,这是我当前得到的输出:(https://imgur.com/a/IBLEX24

请问我是否需要任何澄清。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不确定您的问题,但是vector可以为您完成动态工作。

这是我以为您要求的代码。

#include <iostream>
#include<vector>

int main()
{
freopen ("input.txt","r",stdin);
std::vector<std::vector<int> > vect;

int n,m;
std::cin>>n>>m;

for(int i=0;i<n;i++){
    std::vector<int> v;
    int t;
    for(int j=0;j<m;j++){
        std::cin>>t;
        v.push_back(t);
    }
    vect.push_back(v);
}

for(int i=0;i<n;i++){

    for(int j=0;j<m;j++){

        std::cout<<vect[i][j]<<" ";
    }
    std::cout<<std::endl;
}

return 0;
}

请告诉我这是否有效。