Witam. Napisałem ostatnio program, który ma za zadanie tworzyć tablicę dynamiczną o wymiarach podanych przez użytkownika i wypełnić ją losowo z zakresu podanego również przez użytkownika. Niestety, przestaje działać po pobraniu danych. Czy ktoś może wie dlaczego? Z góry dziękuję za odpowiedź
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void pobierz(int a, int b, int c, int d){
cout << "Podaj wymiar tablicy ";
cin >> a >> b;
cout << "Podaj zakres tablicy ";
do {
cin >> c >> d;
if (d<c) cout << "Podany zakres jest niepoprawny. Podaj zakres jeszcze raz ";
} while (d<c);
}
void tworz(int a, int b, int **tab){
tab=new int *[a];
for (int i=0; i<a; i++){
tab[i]=new int [b];
}
}
void losuj(int a, int b, int c, int d, int **tab){
for (int i=0; i<a; i++){
for (int j=0; j<b; j++){
tab[i][j]=rand()%(b-a+1)+a;
cout << tab[i][j] << " ";
} cout << endl;
}
}
int main(){
srand(time(0));
int a,b,c,d;
int **tab;
pobierz(a,b,c,d);
tworz(a,b,tab);
losuj(a,b,c,d,tab);
for (int i=0; i<a; i++){ delete []tab[i];}
delete []tab;
return 0;
}