Problem z tworzeniem funkcji

0

Siemka!!
Sorry za temat nie wiem jak nazwać.

pisze projekt do szkoły, to co widzicie w funkcji Test_szybko mam zwielokrotnione w main() wiele razy, i chciałem to zamknąć w funkcje, i tu mam problem żadnych błędów a program się wysypuje, chociaż raz zadziałał.
Cały program działa tylko chce zamknąć ten fragment w funkcji.
Wyciąłem tylko fragmenty żeby było wiadomo o co chodzi.

wygląda to tak

Kod:

    if(sortowanie == 1)
                {
                    if(nrZbior == 1)
                    {            
                        Sortuj_szybko(wsk1, 0, rozmiar1);
                        
                        Test_szybko(tab1, rozmiar1);                        
                    }
------------------------------------------------

void Test_szybko(int * tab, int rozmiar)
{
    int i, j;
    int * tabtest;
    clock_t start, stop, czas;
    
    tabtest = tworz_zbior_kopia(rozmiar);
    czas = 0;
    for(i = 0; i < X; i++)
    {
        for(j = 0; j < rozmiar; j++)
            tabtest[j] = tab[j];
            
        start = clock();
        Sortuj_szybko(tabtest, 0, rozmiar);                  
        stop = clock();                    
        czas += stop - start;                    
    }
    free(tabtest);
    printf("Czas wykonania: %d milisekund\n",czas);
}
---------------------------

int *tworz_zbior_kopia(int rozmiar)
{
    int *tab = (int *) malloc (rozmiar * sizeof(int));
    return tab;
}

wsk1 - jest kopią tab1, tą tablice sortuje raz a ostatecznie
tab1 - jest tablica nieposortowaną, tak żeby zawsze mieć dostęp do nieposortowanego zbioru

0

jesteś pewny, że tablice tabtest i tab mają taki sam rozmiar?

0

no do test_szybko przekazuje tab1-tablice rozmiar1-rozmiar tab1
w funkcji test_szybko, tab1 jest przypisane do tab a rozmiar1 do rozmiar
następnie przy tworzenie tabtest użyte jest rozmiar jako wielkość
więc musi być ok, chyba że źle rozumuje

1

Tutaj błędu nie ma, pokaż lepiej cały kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1