我是c ++的新手,我正在尝试使用以下格式创建一个可以从ftitikberat.txt输入matriks的程序:
id [...] - > matriks id
row [id [...]] - > matriks行的数量
coloumns [id [...]] - > matriks coloumns的数量
matriks [id [...]] [row [id [...]]] [col [id [...]]] - > matriks
姓名[id [...]] - > matriks名称
该程序可以编译,但是当我尝试输入ftitikberat.txt它总是崩溃
这是代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int row[1000];
int col[1000];
int matriks[1000][4][4];
int id[1000];
int i,j,k;
string name[1000];
ifstream ifile("ftitikberat.txt");
for(i=1; i<=1000; i++)
{
ifile>>id[i]>>name[i]>>row[i]>>col[i];
for(j=1; j<=row[id[i]]; j++)
{
for(k=1; k<=col[id[i]]; k++)
{
ifile>>matriks[id[i]][j][k];
}
}
}
ifile.close();
和文字:
1 null 1 1 0
2 null 1 1 0
3 null 1 1 0
4 null 1 1 0
。
。 //直到
。
998 null 1 1 0
999 null 1 1 0
1000 null 1 1 0
我试图将文字更改为:
...
998 null 1 1 0 1
...
当我尝试编译并运行它时,程序工作得很好,除了我不能使用id 999和1000,因为它只是搞砸了,同样当我试图更改id为997的文本时(997 null 1 1 0 1)和程序没有崩溃,但我不能使用id 998,999,1000
我也尝试逐个更改最大数组,当我将(id和name)的最大数组从1000更改为1001时,程序没有崩溃,但我不知道为什么它的工作
有人可以解释一下为什么程序(在我更改文本/最大数组之前)不起作用?我盯着这个简单的程序,比如几个小时,但仍然不知道问题出在哪里:')