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

How do I read from a file and store the content in a dynamic 2d array and display it in a grid format?

本文关键字:数组 2D 动态 显示 网格 格式 文件 读取 存储      更新时间:2023-10-16

我有一个文件(input2.txt(,看起来像这样:(https://i.stack.imgur.com/9GgXQ.jpg(

我想打开该文件并将其存储在 2D 动态数组中。这是在函数中 main 创建动态数组(不要问为什么它是动态的,即使它定义了,idk 为什么(:(https://i.stack.imgur.com/Ht74m.jpg(

这是打开文件,处理它,并(尝试(将内容放入数组:(https://i.stack.imgur.com/aQovH.jpg(

我的问题的第二部分是我将如何向用户显示该数组?这是我对该函数所拥有的:(https://i.stack.imgur.com/rsvRO.jpg(

这些是我拥有的图书馆:(https://i.stack.imgur.com/ZNZvC.jpg(

最后,这是我目前得到的输出:(https://i.stack.imgur.com/s35zd.jpg(

如果您需要任何澄清,请问我。感谢您的帮助!

我不确定你的问题,但矢量可以为你做动态工作。

这是我认为你问的代码。

#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;
}

请告诉我这是否有效。