====== 7 - Funkce, ukazatele, pole ====== ==== Procvičovaná témata ==== * pole variabilní délky, pole jako argument funkce * ukazatele ==== Úkoly na cvičení ==== * Napište program, který načte ze standardního vstupu ''N'' kladných celých čísel do jednorozměrného pole * Číslo ''N'' bude prvním číslem v posloupnosti * Načtení proběhne pomocí funkce, která bude mít jako argument pole velikosti ''N'' a jako druhý argument velikost pole * Implementujte funkci, která najde v poli minimální a maximální hodnotu * Implementujte funkci, která přičte ke všem prvkům pole celé číslo. Číslo, které je přičítáno, je menší než maximální číslo v poli. Pokud je výsledek součtu prvku pole a přičítaného čísla větší, než maximální číslo v poli, je novou hodnotou minimální hodnota v poli zvětšená o rozdíl součtu a maximální hodnoty v poli. * Můžete využít následující šablonu #include int nacti_pole (int *pole, int velikost) { int ret = 0; return ret; } void min_max (int *pole, int *min, int *max, int velikost) { } void pricti_skalar (int *pole, int skalar, int velikost) { } int main(void) { return 0; } * Napište program, provede prohození (swap) dvou proměnných popisujících komplexní číslo pomocí struktury (viz. předchozí týden) ==== Další úkoly na procvičení ==== - Určete četnost jednotlivých čísel ve vstupním souboru čísel v rozsahu ''unsigned char''. - Napište program, který převede číslo typu ''unsigned char'' do číselné soustavy o základu 2 - 16. Vypište koeficienty reprezentace čísla v cílové číselné soustavě ve správném pořadí. ==== Úkol pro pokročilé ==== - Napište funkci, která seřadí pole metodou [[https://cs.wikipedia.org/wiki/Counting_sort|counting-sort]]. Nesetříděné pole je argumentem funkce, návratovou hodnotou funkce je pole setříděné.