Cześć wszystkim! Mam problem z funkcją sortującą w C. Musi wykorzystywać wskaźniki. Kompilator pokazuje mi Zgłoszono nieobsługiwany wyjątek: naruszenie dostępu do odczytu. pt było 0x34D43162 :(
void sortuj(int *pt, int N) {
int i, liczba_min, indeks_min, temp, poczatek = 0;
do {
liczba_min = *(pt);
for (i = *(pt + 1); i <= N - 1; i++) {
if (*(pt + i) < liczba_min) {
indeks_min = i;
liczba_min = *(pt + i);
}
}
temp = *(pt + indeks_min);
*(pt + indeks_min) = *(pt + poczatek);
*(pt + poczatek) = temp;
poczatek++;
} while (poczatek < N);
}
Tak wygląda main:
int main() {
int tablica[n] = { 0 };
srand(time(NULL));
for (int i = 0; i < n; i++) {
tablica[i] = rand();
}
sortuj(tablica, n);
for (int i = 0; i < n; i++) {
printf("tablica[%.1d] = %.1d\n", i, tablica[i]);
}