新手小白,MFC程序内存泄漏,用____CrtSetBreakAlloc()定位发现是一个矩阵求逆的函数,不知道怎么改,下面是求逆函数___
void inv(float a[4][4], float b[4][4]) //矩阵求逆
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
b[i][j] = a[i][j];
}
}
//int *is, *js, i, j, k;
int n = 4;
double d, p;
int *is = new int[n];
int *js = new int[n];
int i, j, k;
for (k = 0; k
{
d = 0.0;
for (i = k; i
for (j = k; j
{
p = fabs(b[i][j]);
if (p>d){ d = p; is[k] = i; js[k] = j; }
}
if (d + 1.0 == 1.0)
{
delete[] is, js;
exit(1);
}
if (is[k] != k) //全选主元
for (j = 0; j
{
p = b[k][j]; b[k][j] = b[is[k]][j]; b[is[k]][j] = p;
}
if (js[k] != k)
for (i = 0; i
{
p = b[i][k]; b[i][k] = b[i][js[k]]; b[i][js[k]] = p;
}
b[k][k] = 1.0 / b[k][k];
for (j = 0; j
if (j != k) b[k][j] = b[k][j] * b[k][k];
for (i = 0; i
if (i != k)
for (j = 0; j
if (j != k) b[i][j] = b[i][j] - b[i][k] * b[k][j];
for (i = 0; i
if (i != k) b[i][k] = -b[i][k] * b[k][k];
}
for (k = n - 1; k >= 0; k--)
{
if (js[k] != k)
for (j = 0; j<n; j++)
{
p = b[k][j]; b[k][j] = b[js[k]][j]; b[js[k]][j] = p;
}
if (is[k] != k)
for (i = 0; i<n; i++)
{
p = b[i][k]; b[i][k] = b[i][is[k]]; b[i][is[k]] = p;
}
}
delete[] is, js;
}
MFC程序内存泄漏,定位是求逆的函数,不知道怎么改
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
0条回答 默认 最新
悬赏问题
- ¥15 交替优化波束形成和ris反射角使保密速率最大化
- ¥15 树莓派与pix飞控通信
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程