Info |
---|
Ciele cvičeniaCvičenie bude zamerané na prácu s jednorozmerným (1R) poľom. Študenti si osvoja spôsob deklarácie a inicializácie poľa. Tiež si osvoja problematiku indexácie polí, cyklus for a usporadúvanie a vyhľadávanie prvkov poľa. |
Info |
---|
Odporúčaná literatúra a dôležité odkazy[1] KPI-FEI-TUKE: Prednáška č. 5 [2] KPI-FEI-TUKE: Cvičenie č. 76 [3] Tutorialspoint: for loop in C [4] Geeksforgeeks: Sorting Algorithms |
Úloha 1.1
Napíšte funkciu void print_vector(int vector[], int size) pre zobrazenie 1R poľa, ktoré bude zadefinované vo funkcii main().
- Použite funkciu for()!
- Veľkosť poľa size musí byť zistená programom, teda nesmie byť zadávaná ručne!
Code Block | ||
---|---|---|
| ||
int pole[] = { 1, 5, 2, 3, 6, 8, 9, 7, 10, 18, 16, 14, 13, 15, 12, 11, 4, 17}; |
Predpokladaný výsledok:
Code Block | ||
---|---|---|
| ||
ab123xy@zapfei:$ gcc -std=c11 -Werror -Wall -lm program.c -o PROGRAM ab123xy@zapfei:$ ./PROGRAM Vstupné pole: 1 5 2 3 6 8 9 7 10 18 16 14 13 15 12 11 4 17 |
Úloha 1.2
Napíšte funkciu int search(int vector[], int size, int number) pre vyhľadanie prvku number v 1R poli.
- Funkciu main() rozšírte o zadávanie hodnoty hľadaného prvku cez používateľský vstup.
- Funkcia vráti pozíciu (index), na ktorej sa hľadaný prvok nachádza.
- Ak sa prvok v danom poli nenachádza, funkcia vráti hodnotu -1!
- Použite lineárne vyhľadávanie
Predpokladaný výsledok:
Code Block | ||
---|---|---|
| ||
ab123xy@zapfei:$ gcc -std=c11 -Werror -Wall -lm program.c -o PROGRAM ab123xy@zapfei:$ ./PROGRAM ********************************************** Zadaj hodnotu hľadaného prvku >> 6 Vstupné pole: 1 5 2 3 6 8 9 7 10 18 16 14 13 15 12 11 4 17 Hľadaný prvok sa nachádza na pozícii: 4 |
Úloha 1.3
Napíšte funkciu void Bsort(int vector[], int size) pre bublinkové zoradenie prvkov 1R poľa
- Funkcia zoradí prvky priamo v zadanom poli. Nemá teda návratovú hodnotu.
Úloha 1.4 (doplňujúca)
- Vyskúšajte si zoradenie prvkov pomocou Q-sort –> qsort()
Úloha 1.5 (doplňujúca)
Napíšte funkciu int BINsearch(int vector[], int size, int number) pre binárne vyhľadanie prvku number v 1R poli.
- Vo funkciu main() nahraďte volanie funkcie search() funkciou BINsearch().
- Funkcia vráti pozíciu (index), na ktorej sa hľadaný prvok nachádza.
- Ak sa prvok v danom poli nenachádza, funkcia vráti hodnotu -1!
Predpokladaný výsledok:
Code Block | ||
---|---|---|
| ||
ab123xy@zapfei:$ gcc -std=c11 -Werror -Wall -lm program.c -o PROGRAM ab123xy@zapfei:$ ./PROGRAM ********************************************** Zadaj hodnotu hľadaného prvku >> 6 Vstupné pole: 1 5 2 3 6 8 9 7 10 18 16 14 13 15 12 11 4 17 Hľadaný prvok sa nachádza na pozícii: 4 Prvky po zoradení ... Vstupné pole: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Hľadaný prvok sa nachádza na pozícii: 5 |