C++ 运行代码时出错

C++ 运行代码时出错,c++,text-files,C++,Text Files,我尝试了以下代码,但运行时出错。我使用了调试器,但我无法理解调用堆栈中的错误 #include <iostream> #include <fstream> using namespace std; int main() { int a[10][2],i,j, b[10],max, min; ifstream f("numere.txt"); for(i=1;i<=10;i++) { for(j=1;j<=2

我尝试了以下代码,但运行时出错。我使用了调试器,但我无法理解调用堆栈中的错误

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int a[10][2],i,j, b[10],max, min;
    ifstream f("numere.txt");

    for(i=1;i<=10;i++)
    {
        for(j=1;j<=2;j++)
        {
            f>>a[i][j];
            b[i]=0;
        }
    }

    for(i=1;i<=10;i++)
    {
        for(j=1;j<=2;j++)
        {
            b[i]=b[i]+a[i][j];
        }
    }

    max=b[1];
    min=b[1];

    for(i=1;i<=5;i++)
    {
        if(max<=b[i]) max=b[i];
        if(min>=b[i]) min=b[i];
    }

    cout<<"Cea mai mare suma este:"<< max<<endl;
    cout<<"Cea mai mica suma este:"<< min<<endl;


    f.close();
    return 0;

}
#包括
#包括
使用名称空间std;
int main()
{
int a[10][2],i,j,b[10],max,min;
IFF流(“numere.txt”);
对于(i=1;ia[i][j];
b[i]=0;
}
}

对于(i=1;i您至少有一个错误:数组索引超出范围:

 for(i= 0;i<10;i++)
{   //^^^
    for(j=0;j< 2;j++)
    { //^^^
        f>>a[i][j];
        b[i]=0; //Why you put b[i] here??
    }
}
(i=0;i>a[i][j]; b[i]=0;//为什么把b[i]放在这里?? } }

自从您声明代码> [10 ] [2 ] < /> >数组索引从C++开始> < 0 >代码>,C++中没有<代码> 1 > /代码>。您将访问不属于<代码> > < <代码> >(<代码> b>代码>)的内存。

< p>数组中的第一个索引是<强> 0 < /强>,而不是<强> 1 > 在循环中尝试从09,而不是从110


<>你可以得到更多关于C++数组的信息。

这里最突出的错误是你在C++中开始了代码访问> 1代码>代码>在C++代码数组索引开始于<代码> 0 /代码>,这也意味着你在你的for循环中也在访问界限之外,例如:
for(i=1;i<=10;i++)
    ^^^  ^^

for(i=1;我能发布一个示例输入文件吗?你的
for
循环有一个越界,
i感谢你,程序的另一个错误是,我最多比较了5个数字,而不是10个。
for(i=0;i<10;i++)