C++/Перегрузка операций
Matrix operator /(Matrix& obj) {
int k = 0;
float* X3;
float* X2;
float s1, s2;
X2 = new float [n * m];
X3 = new float [n * m];
if (n > obj.get_n()) {
n = obj.get_n();
}
if (m > obj.get_m()) {
m = obj.get_m();
}
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
s1 = sr((X + i * m + j), m);
s2 = sr((X2 + i * m + j), m);
if (s1 > s2) {
k++;
}
}
}
if (k > 0) {
int z = 0;
X3 = new float [k];
for (int j = 0; j < k; j++) {
for (int i = 0; i < k; i++) {
*(X3 + k * m + j);
}
}
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
s1 = sr((X + i * m + j), m);
s2 = sr((X2 + i * m + j), m);
if (s1 > s2) {
*(X3 + z * m + j) = *(X + i * m + j);
z++;
}
}
}
}
else {
X3 = X2;
k = obj.get_n();
m = obj.get_m();
}
Matrix *x;
x = new Matrix(X3, k, m);
return *x;
}
в М3 переносятся строки М1, со средним арифметическим, большим среднего арифметического соответствующих строк М2. Если таких строк нет, то М3=М2 Происходит заполнением мусора или же не срабатывает вовсе. Моя получившаяся матрица М2 уже имеет строки среднее арифметическое которых меньше матрицы М1 Т.е должна используя этот оператор просто попадать в исключение и приравнивать новую матрицу к М1 или же переписать всё же строки подходящие. Помогите , скажите что не так делаю , почему выводит мусор?