Cześć,
Problem polega na tym, że program do 2 wiersza wczytuje liczby normalnie, a przy tworzeniu 3 z jakiegoś powodu wywala błąd.
Funkcja wygląda tak:
*
int** getMatrix(){
int i,j;
int width,height;
cout << "Podaj liczbe kolumn macierzy: ";
cin >> width;
cout << "Podaj liczbe wierszy macierzy: ";
cin >> height;
int** matrix;
matrix = new int*[height];
matrix[height] = new int[width];
//wypełnianie macierzy 0
for(i=0; i<height; i++){
for(j=0; j<width; j++){
matrix[i][j] = 0;
}
}
cout << "Kolejne elementy macierzy w wierszu oddziel spacja." << endl;
cout << "Aby zapisac liczby w kolejnym wierszu nacisnij enter." << endl;
cout << "Podaj liczby do zapisania w macierzy: " << endl;
//wypełnianie macierzy własnymi liczbami
for(i=0; i<height; i++){
for(j=0; j<width; j++){
cin >> matrix[i][j];
}
}
cout << "\n\n";
//sprawdzenie czy macierz się dobrze zapisała
for(i=0; i<height; i++){
for(j=0; j<width; j++){
cout << matrix[i][j] << " ";
}
cout << endl;
}
return matrix;
}
Przy zapisywaniu więcej niż 2 wierszu wyskakuje komunikat:
Process finished with exit code -1073741571 (0xC00000FD)