求帮助,求各路大神指点一下!!!

求各路大神帮忙看看这个代码问题出在哪里,为什么运行的时候会什么都没有呢。。。

#include
#include
#include
#include
using namespace std;
int main()
{
int count(0);
const int MAX_SIZE = 20;
int x[MAX_SIZE];
double y[MAX_SIZE],y_est[MAX_SIZE],diff_est[MAX_SIZE],diff_avg[MAX_SIZE],y_avg,sumx(0), sumy(0), sumx2(0),
sumxy(0),sum_diff_est(0), sum_diff_avg(0),denominator, m, b,Rsquare;
string filename;
ifstream data;
cout << "Enter name of input file:";
cin >> filename;
data.open(filename.c_str());
if(data.fail())
{
cerr << "Error opening input file\n";
exit(1);
}

while ( !data.eof() )
{
    data >> x[MAX_SIZE] >> y[MAX_SIZE];
    for(int k=0;k<MAX_SIZE;k++)
    {
        sumx += x[k];
        sumy += y[k];
        sumx2 += x[k]*x[k];
        sumxy += x[k]*y[k];
        k=count;
    }
}
denominator = count*sumx2 - sumx*sumx;
m = (count*sumxy - sumx*sumy)/denominator;
b = (sumx2*sumy - sumx*sumxy)/denominator;
y_avg = sumy/count;
for(int j=0;j<MAX_SIZE;j++)
{
    y_est[j] = m*x[j]+b;
    diff_est[j] = y_est[j]-y[j];
    diff_avg[j] = y[j]-y_avg;
    sum_diff_est += diff_est[j]*diff_est[j];
    sum_diff_avg += diff_avg[j]*diff_avg[j];
}
Rsquare = sum_diff_est/sum_diff_avg;
cout.setf(ios::fixed);
cout.precision(5);
cout << "Linear model: \n";
cout << "y = " << m << " x + " << b << endl;
cout << "And the value of R square is: " << Rsquare << endl;
system("pause");
data.close();
return 0;

}

这是我的输出框,我打进去文件名以后再按回车就什么反应都没有了。。。

该回答引用NewBing,仅供参考,不保证完全正确

你好,这是必应。我可以尝试帮你找出代码的问题。😊


根据我搜索的结果,你的代码可能有以下几个问题:

  • 你在读取数据时,使用了 data >> x[MAX_SIZE] >> y[MAX_SIZE],这样会导致数组越界,因为 MAX_SIZE 是数组的最大容量,而不是有效元素的个数。你应该使用 data >> x[count] >> y[count],并且在每次读取后,将 count 加一。
  • 你在计算各种和时,使用了一个循环 for(int k=0;k<MAX_SIZE;k++),这样会导致计算错误,因为你可能没有读取到 MAX_SIZE 个数据。你应该使用 count 作为循环的终止条件,即 for(int k=0;k<count;k++)
  • 你在计算 Rsquare 时,使用了 Rsquare = sum_diff_est/sum_diff_avg,这样会导致结果为零,因为你使用了整数除法。你应该将其中一个变量转换为浮点数,即 Rsquare = sum_diff_est/(double)sum_diff_avg

这里有一些有用的资源,可以帮助你更深入地了解 C++ 代码的编写和调试:

希望这些信息能对你有所帮助!如果你还有其他问题,请随时问我。😊


源: 与必应的对话, 2023/6/29
(1) Solve C++ | HackerRank. https://www.hackerrank.com/domains/cpp.
(2) C++ Examples | Programiz. https://www.programiz.com/cpp-programming/examples.
(3) Problems - LeetCode. https://leetcode.com/problemset/.