Hej,
na zajęcia miałem napisać program, który porówna czasy potrzebne na posortowanie tablicy x elementowej przez 7 typów sortowań/ Algorytmu sortowań musiałem napisać sam. Wszystko super działa. Problem mam jedynie ze spełnieniem tej częsci zadania
...funkcje sortujące maja być wywoływane w petli a adresy funkcji
pobierane z tablicy (zdefiniować stosowny typ wskaźnikowy do funkcji typu void i mających dwa parametry (wskaźnik i rozmiar tablicy).
Ja zrobiłem to w sposob zaprezentowany poniżej. Wszystko jest najbardziej OK z tym, że nie zdefiniowałem typu wskaźnikowego. Nie bardzo wiem o co chodzi. Przykładów w internecie też jakoś wiele nie ma. Będę wdzięczny za pomoc.
void (*ptrf[7])(int *tab, int size) = {
sortowanie_babelkowe,
sortowanie_mieszane,
sortowanie_wybieranie,
sortowanie_polowkowe,
sortowanie_wstawianie,
sortowanie_wybieranie,
sortowanie_stogowe
};
poniżej pętla,
clock_t start, stop;
double czas;
for(int k=0; k<7; k++)
{
cout <<"Sorotwanie nr: "<<k+1<<"\n";
TabCopy( tablica2, tablica, ile );
#ifdef _PRINT_TEST
display(tablica2, ile);
cout << "\n";
#endif
start = clock();
ptrf[k](tablica2, ile);
stop = clock();
#ifdef _PRINT_TEST
display(tablica2, ile);
cout << "\n";
#endif
czas = (double)(stop - start) / CLOCKS_PER_SEC;
cout <<"Czas sortowania: " << czas << " s\n\n"<<endl;
}