永发信息网

c++的一个求矩阵乘法的程序,析构函数那里释放内存为什么会出错

答案:1  悬赏:80  手机版
解决时间 2021-02-08 06:07
#include
using namespace std;
void chengfa(int, int, int, int[], int[]);
class juzhen
{
public:
int m;
int n;
int* arr;
juzhen(){arr = new int[m*n]; };
~juzhen()
{
delete[]arr;

};
void output()
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cout << arr[j + i*n] << "\t";
}
cout << endl;
}
}
void creat()
{
cout << "请输入矩阵行数:";
cin >> m;
cout << "请输入矩阵列数:";
cin >> n;
cout << "您将输入一个" << m << "X" << n << "的矩阵" << endl;
for (int i = 0; i < m; i++)
{
cout << "请输入第" << i + 1 << "行数据:\n";
for (int j = 0; j < n; j++)
{
cin >> arr[j + i*n];
}
}
}
};
int main()
{
cout << "第一个矩阵" << endl;
juzhen ju1;
ju1.creat();
ju1.output();
cout << "第二个矩阵" << endl;
juzhen ju2;
ju2.creat();
ju2.output();
if (ju1.n != ju2.m){ cout << "数组格式不正确!已终止程序!" << endl; return 0; }
cout << "矩阵1乘矩阵2为:"< chengfa(ju1.m, ju2.n, ju1.n, ju1.arr, ju2.arr);
system("pause");
delete[]ju1.arr;
delete[]ju2.arr;
}
void chengfa(int m1, int n, int m2, int arr1[], int arr2[])
{
for (int i = 0; i < m1; i++)
{
for (int j = 0; j < n; j++)
{
static int sum;
for (int p = 0; p < m2; p++)
{
sum += arr1[p + i*m2] * arr2[p*n + j];
}
cout << sum << "\t";
sum = 0;
}
cout << endl;
}
}
最佳答案
juzhen(){}; //放在这里初始化arr,但是m,n的值还没确定
~juzhen()
{
delete[]arr;

};
void output()
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cout << arr[j + i*n] << "\t";
}
cout << endl;
}
}
void creat()
{
cout << "请输入矩阵行数:";
cin >> m;
cout << "请输入矩阵列数:";
cin >> n;
cout << "您将输入一个" << m << "X" << n << "的矩阵" << endl;
arr = new int[m*n]; 
for (int i = 0; i < m; i++)
{
cout << "请输入第" << i + 1 << "行数据:\n";
for (int j = 0; j < n; j++)
{
cin >> arr[j + i*n];
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
老是胃胀,肚子不通气,请问吃点什么药
haose13怎么上不去了?
花卉工程技术研究中心在什么地方啊,我要过去
守卫剑阁中关凤带方天画戟和青冈剑哪个好
曼姿美容美体养生会所怎么去啊,我要去那办事
摇号摇到节能车的 现在的节能车那种比较好
【一花一木】一花一木一世界什么意思
我和前妻留下的房子现任妻子有份吗如题 谢谢
慈舒美容院地址有知道的么?有点事想过去
廉陶里这个地址在什么地方,我要处理点事
香缇雅美容地址在什么地方,想过去办事
流放之路第二章第7关怎么过 流放之路第二章第
古代的更头是几小时?
“哲学是智慧之学,学好了哲学,人就会充满智
显卡的供电相数 电容类型 可以从PCB直接看出
推荐资讯
母亲的年龄是儿子年龄的四倍,三年前母子年龄
米乐儿童摄影美学馆地址有知道的么?有点事想
引起收缩压升高的主要原因是C①心输出量增大
云南君和酒业销售有限公司怎么去啊,有知道地
巴嘎比力其尔地址在哪,我要去那里办事
LOAD PORT是什么意思?
永登县富莱儿剑桥少儿英语学校怎么去啊,有知
中国农业银行(平昌驷马分理处)地址在什么地方
港福地址在什么地方,想过去办事
鸿安汽车电器地址在什么地方,想过去办事
深圳哪里有电视机遥控器生产厂家?
孙李村地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?