【发布时间】:2015-09-22 23:14:38
【问题描述】:
我是社区的新手,是一位同学介绍到这里的。
我被困在一个学校项目中,希望得到一些指导,我不希望有人为我完成代码,我只想知道该怎么做......
手头的问题是创建一个多维数组,其中 .txt 文件的前两个数字是数组的大小。
示例文本文件:
10 5
tom 91 67 84 50 69
suzy 74 78 58 62 64
Peter 55 95 81 77 61
Paul 91 95 92 77 86
Diane 91 54 52 53 92
Emily 82 71 66 68 95
Natalie 97 76 71 88 69
Ben 62 67 99 85 94
Mark 53 61 72 83 73
Anna 64 91 61 53 68
到目前为止,我从文本文件中读取了一个大小为 2 的数组,我打算将其用作数组大小。这是我到目前为止所拥有的。
const int multiArraySize = 2;
void firstTwoNumbers(int numbers[]){
int count = 0; // Loop counter variable
ifstream inputFile; // Input file stream object
// Open the file.
inputFile.open("grades.txt");
// Read the numbers from the file into the array.
while (count < multiArraySize && inputFile >> numbers[count])
count++;
// Close the file.
inputFile.close();
}
我主要有这个
int numbers[multiArraySize];
firstTwoNumbers(numbers);
int multiArray[numbers[0]][numbers[1]];
提前感谢您对 Stack Overflow 社区的帮助!
编辑:我已成功读取前两个数字
我希望 multiArray 从 numbers 数组继承其大小。
最好的方法是什么? 我该怎么办?我在某个地方读到过关于 const cast 的文章,但我不知道这是否是正确的方法。
【问题讨论】:
-
您不应该使用原始数组。您应该使用
std::vector。用原始数组保存东西是不好的。 -
老师对你的项目有什么限制?是否允许使用 STL,是否必须是某种风格,等等...
-
我也读过,但我的老师不希望我们像他说的那样使用更高级的方法.. 他只是希望我们使用我们已经学过的基本知识.. file- io,数组,刚学的多维数组,函数@VermillionAzure,感谢帮助!
-
@JohnSmith 首先,您需要动态分配数组。简单地将指针放在数组上不会使其成为动态的。如果您不能动态分配它,请询问数组维度的上限和下限。
-
我会向你的老师寻求帮助...你需要阅读前两行,然后声明必要的数据结构以包含文件其余部分的信息。 Stack Overflow 并不是真正解决家庭作业问题的最佳场所,而且我们都不知道作业的实际规范来给出有意义的答案。
标签: c++ arrays file-io multidimensional-array