m0_69851794 2022-05-05 07:47 采纳率: 100%
浏览 31
已结题

内存冲突,不知道为什么

#include
#include
using namespace std;
const int m = 3;
class hanshu
{
private:
int x[m];
public:
double get_y(double a, double b, int N);
hanshu(int a[m]);
~hanshu();
double xw(double k, int m);
}
;
hanshu::hanshu(int* a)
{
for (int i = 0; i < m; i++)
x[i] = a[i];

}
hanshu::~hanshu()
{
cout << "已清除";
}
double hanshu::get_y(double a, double b, int N)
{

double x = (b - a) / N;
double ans = 0;

for (int i = 1; i <= N; ++i)
{
    ans += x * xw(a + x * i, m);
}
return ans;

}
double hanshu::xw(double k, int m)
{
int j = 0;
double t = 0;
while (m - 1 >= 0)
{
t = t + x[j] * pow(k, m - 1);
++j;
}
return t;
}
int main()
{
double u, y;
cout << "输出区间范围为:";
cin >> u >> y;
int g[3] = { 3,6,8 };
hanshu a(g);
cout << "输出结果为:" << a.get_y(u, y, 10000) << endl;
return 0;
}

  • 写回答

1条回答 默认 最新

  • 柒号华仔 2022年度博客之星评选前沿技术领域TOP 1 2022-05-05 08:54
    关注

    初始m=3,在你的程序里面m的值并没有改变,所以在xw()函数里,while (m - 1 >= 0)判断始终为真,会陷入while死循环

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月13日
  • 已采纳回答 5月5日
  • 创建了问题 5月5日

悬赏问题

  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!