Otóż napisałem program "sortowanie przez wybieranie" Wygląda tak:
#include <windows.h>
#include <stdio.h>
#include <time.h>
const int N = 100;
int main()
{
int Tab[N], i, j, min, x;
long start, stop;
start = 0;
stop = 0;
printf("Sortowanie przez wybor\n");
printf("\n");
srand((unsigned)time(NULL));
for(i = 0; i < N; i++) Tab[i] = rand() % 100;
/*
for(i = 0; i < N; i++) printf("%d ",Tab[i]);
printf("\n");
*/
start = timeGetTime();
for(j = 0; j < N - 1; j++)
{
min = j;
for(i = j + 1; i < N; i++)
if(Tab[i] < Tab[min]) min = i;
x = Tab[min];
Tab[min]= Tab[j];
Tab[j]= x;
}
stop = timeGetTime();
printf("Czas wykonywania sortowania wynosi: %li \n\n",stop - start);
/*
printf("Tablica po sortowaniu:\n\n");
for(i = 0; i < N; i++) printf("%d ",Tab[i]);
*/
return 0;
}
Do zliczania czasu użyłem timeGetTime lecz tablicy poniżej tysiąca wyświetla zero natomiast powyżej 1000000 wyrzuca mi program. Działa tylko w zakresie 1000-100000.
Jak temu zaradzić?