Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dynamiczna tablica - kasowanie

Ostatnio zmodyfikowano 2017-05-08 16:19
Autor Wiadomość
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.

C/C++
#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;
   
   
   
   
}
P-160747
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!).
P-160829
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  ...
P-160833
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?
P-160834
mateczek
» 2017-05-08 04:13:18
C/C++
int * tablica = new int[ il ];
for( int i = 0; i <= il; i++ ) {
    // tu już ma przekroczenie zakresu!!!
}
P-160835
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
P-160848
« 1 »
  Strona 1 z 1