Dynamiczna tablica - kasowanie
Ostatnio zmodyfikowano 2017-05-08 16:19
Mashnar Temat założony przez niniejszego użytkownika |
Dynamiczna tablica - kasowanie » 2017-05-06 01:08:07 Witam. Mam taki programik do losowania za pomoca insert sorta , lecz jest 1 problem. Bez kasowania tablicy dynamicznej wszystko działa , lecz jak chce skasowac ta tablica , to wyskakuje mi blad ze wyciek pamieci jest. Poprostu wychodzi poza zakres tablicy. Prosiłbym o pomoc. #include <iostream> #include <cstdlib> #include <ctime> #include <time.h> using namespace std;
void rand( int tablica[], int il ) { srand( time( NULL ) ); for( int i = 0; i <= il; i++ ) { tablica[ i ] = rand() % 100000; } } void insert_sort( int tablica[], int il ) { int temp, j, w = 0; for( int i = 1; i < il; i++ ) { temp = tablica[ i ]; for( j = i - 1; j >= 0 && tablica[ j ] > temp; j-- ) { tablica[ j + 1 ] = tablica[ j ]; w++; } tablica[ j + 1 ] = temp; } cout << "licznik operacji dominujacych " << w << endl; }
int main() { int il; cout << "Ile liczb chcesz aby program ci wylosowal?" << endl; cin >> il; int * tablica = new int[ il ]; rand( tablica, il ); insert_sort( tablica, il ); delete[] tablica; }
|
|
czaffik |
» 2017-05-07 23:06:59 Kompilator gcc 4.9.2: nie wywala błędów (nawet jak próbuję się dobrać do elementów tablicy po jej skasowaniu!). |
|
Mashnar Temat założony przez niniejszego użytkownika |
» 2017-05-08 01:58:25 A to ciekawe w visual studio 2015 wywala błąd ... |
|
czaffik |
» 2017-05-08 02:26:29 Niektóre niuanse zależą od kompilatorów ale tutaj nie powinno się wywalać, może z czym innym problem? |
|
mateczek |
» 2017-05-08 04:13:18 int * tablica = new int[ il ]; for( int i = 0; i <= il; i++ ) { }
|
|
Mashnar Temat założony przez niniejszego użytkownika |
» 2017-05-08 16:19:58 Głupszego błedu nie mogłem zrobić ....
Dzięki ;D |
|
« 1 » |