Не могу понять где ошибка. Прога компилируется, получает значения, работает потом вылетает и пишет: "Segmentation fault (core dumped)"
Эта программа должна решать задачу:
Ввести матрицу. Составить функцию нахождения минимума из четырех чисел. Каждое число является количеством положительных элементов, расположенных от определенного элемента по диагонали вправо-вверх, влево-вниз, влево-вверх, вправо-вниз. Составить новую матрицу из результатов вызовов функций для каждого элемента исходной матрицы. Исходную и результирующую матрицы вывести
Код:
#include <iostream>
using namespace std;
void createNewmass(float **mass, int i, int j, int n, int m) {
int k[4] = {0, 0, 0, 0}, ii = i, jj = j, max;
while (i != 0 || j != m) {
i--; j++;
if (mass[i][j] > 0)
k[0]++;
}
i = ii; j = jj;
while (i != n || j != m) {
i++; j++;
if (mass[i][j] > 0)
k[1]++;
}
i = ii; j = jj;
while (i != n || j != 0) {
i++; j--;
if (mass[i][j] > 0)
k[2]++;
}
i = ii; j = jj;
while (i != 0 || j != 0) {
i--; j--;
if (mass[i][j] > 0)
k[3]++;
}
max = k[0];
for (i = 0; i < 4; i++)
if (k[i] > max)
max = k[i];
cout << max << " ";
}
int main() {
float **mass;
int n, m;
cin >> n >> m;
mass = new float *[n];
for (int i = 0; i < m; i++)
mass[i] = new float [m];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> mass[i][j];
for (int i = 0; i < n; i++) {
cout << endl;
for (int j = 0; j < m; j++)
cout << mass[i][j] << " ";
} cout << endl;
for (int i = 0; i < n; i++) {
cout << endl;
for (int j = 0; j < m; j++)
createNewmass(mass, i, j, n, m);
}
}