Hej! Mam do zrobienia projekt polegający na przeprowadzeniu pomiaru czasu dla konkretnych alogrytmów dla następujących zmiennych zaczynając od 1024 a kończąc na 1048576. Mają być zastosowane również dwa typy zmiennych: vector <double> i tablica typu int. Wydawało się, że mam wszystko w porządku, jednakże gdy dochodzi do pomiaru wyżej niż 65536 przy zmiennej dla tablicy, program po prostu się wywala.
Tak to wygląda przy deklaracji czasu dla zmiennych:
for(int i=1, n=1024; i<=iters; i++, n*=2){
vector<double> vec_double;
gen_vector(vec_double, n);
file<<n<<"\t"<<"Wektor\t\tDouble\t";
VecSORTS(vec_double);
file<<endl;
vec_double.clear();
}
file<<endl;
for(int i=1, n=1024; i<=iters; i++, n*=2){
int *tab_int = new int [n];
gen_table(tab_int, n);
file<<n<<"\t"<<"Tablica\t\tint\t";
TabSORTS(tab_int);
file<<endl;
delete [] tab_int;
}
file.close();
oraz przy generowaniu pojemnikow danych dla zmiennych:
void gen_table(int *tab, int n){
for(int i=0; i<n; i++){
tab[i] = (int)rand()/RAND_MAX;
}
}
void gen_vector(vector<double> &tab, int n){
double num;
for(int i=0; i<n; i++){
num = (double)rand()/RAND_MAX;
tab.push_back(num);
}
}
gdzie jest problem? może szukam nie tam gdzie powinnam, z góry dzięki!