显示带有二维数组的文件

Posted

技术标签:

【中文标题】显示带有二维数组的文件【英文标题】:Displaying a file with a 2D Array 【发布时间】:2019-11-23 00:11:09 【问题描述】:

对于我必须完成的任务的一部分,我试图让我的程序读取某个 txt 文件并将其与我的 2D 数组和另一个数组逐行显示,但它不会以我的方式打印想要。我正在尝试调试,我认为它将整数放入我的studentName 数组而不是我的二维数组 (score[][])。

如何防止这种情况发生?还是其他问题?

这是我正在使用的 txt 文件:

Johnson 85 83 77 91 76
Aniston 80 90 95 93 48
Cooper 78 82 22 90 73
Gupta 92 83 30 69 87
Blair 23 45 96 38 59
Clark 60 85 45 39 67
Kennedy 77 31 52 74 83
Bronson 93 94 89 77 97
Sunny 79 85 28 93 82
Smith 85 72 49 75 63

现在,我只想输出我的 txt 文件并确保所有值都在它们的位置。

这是我目前所拥有的:

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

int main() 
    string studentName[10] =  " " , grade[10] =  " " ;
    double score[10][6] =  0 ;
    ifstream inFile;
    int i, j;

    inFile.open("arrays.txt");

    for (i = 0; i < 10; i++) 
        for (j = 0; j < 6; j++) 
            inFile >> studentName[i] >> score[i][j];
            cout << studentName[i] << '\t' << score[i][j] << ' ' << endl;
        
    
    return 0;

这是目前的输出:

Johnson 85
83      77
91      76
Aniston 80
90      95
93      48
Cooper  78
82      22
90      73
Gupta   92
83      30
69      87
Blair   23
45      96
38      59
Clark   60
85      45
39      67
Kennedy 77
31      52
74      83
Bronson 93
94      89
77      97
Sunny   79
85      28
93      82
Smith   85
72      49
75      63
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0

【问题讨论】:

【参考方案1】:

您的程序有错误。

将'for'部分替换为下面的一段代码,它将起作用

for (i = 0; i < 10; i++) 
    inFile >> studentName[i];
    cout << studentName[i] << '\t';
    for (j = 0; j < 5; j++) 
        inFile >> score[i][j];
        cout << score[i][j] << ' ';
    
    cout << endl;

如果您也将分数数组更改为:

double score[10][5] =  0 ;

【讨论】:

是的,我注意到了,但是我的 txt 是 10x6,所以应该没问题,还是我必须把它少一点 score[9][5]

以上是关于显示带有二维数组的文件的主要内容,如果未能解决你的问题,请参考以下文章

在opencv中,如何将二维数组转化为一副图像进行显示?

C++ 图像处理 - 将图像文件读入二维数组

php二维数组中判断是不是存在元素

如何在Objective-C中将二维整数数组对象添加到NSMutableArray?

js如何定义二维数组,一维的key为动态值。就是要处理二级菜单显示。

二维数组(初学者)