Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilIrena Veselá
1
Realloc a qsort examples BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké učení technické Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti
2
Ing. Miroslav Balík, Ph.D. - BI-PA1- 09 Realloc int main (void) { int input, n, count = 0, *numbers = NULL, *more_numbers; printf ("Vlozte radu cisel, 0 pro zakonceni: "); do { scanf ("%d", &input); count++; more_numbers = (int*) realloc (numbers, count * sizeof(int)); if (more_numbers != NULL) { /* dopadlo to dobre */ numbers = more_numbers; numbers[count-1] = input; } else { /* dopadlo to spatne */ free (numbers); printf ("CHYBA: error (re)allocating memory"); exit (1); } } while (input != 0); printf ("Vlozena cisla: "); for (n = 0; n<count; n++) printf ("%d",numbers[n]); free (numbers); return 0; } 2/3
3
Ing. Miroslav Balík, Ph.D. - BI-PA1- 09 Qsort pro řazení pole celých čísel /* porovnani: vraci kladne pro a > b, zaporne pro b > a, pro rovnost nulu */ int intCmp(const void *a, const void *b) { return *(const int *)a - *(const int *)b; } /* pretypovani */ void sortIntegers() { int pole[] = { 7, 3, 4, 1, -1, 23, 12, 43, 2, -4, 5 }; int velikostPole = sizeof(pole)/sizeof(int); printf("Razedni cisel: neserazene \n"); printPole(pole, velikostPole); qsort(pole, velikostPole, sizeof(int), intCmp); /* razeni */ printPole(pole, velikostPole); } 3/3
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.