Cvičení 1 - Opakování
Cvičení neproběhlo ze zdravotních důvodů.
Níže jsou příklady, které byste měli být schopni vyřešit. Podívejte se na ně a příště si o nich krátce popovídáme.
Téma 1: Opakování O-notace
Rozhodněte, zda následující vztahy platí nebo ne. Dokažte.
- 20 ⋅ n + 6 ∈ O(n)
- 20 ⋅ n + 6 ∈ Ω(n)
- 20 ⋅ n + 6 ∈ Θ(n)
- Σi ∈ O(n2)
- n! ∈ O(n)
Téma 2: Opakování C
Následující úkol pokrývá základní znalosti, ktere byste už měli mít z kurzu Jazyka C a Algortimů 1. Zároveň je to první úkol z první sady zápočtových úkolů.
- Vytvořte v C strukturu
struct dir
pro záznam adresáře dlužníků obsahující:
- jméno dlužníka,
- příjmení dlužníka,
- věk dlužníka,
- dlužnou částku.
- Vytvořte adresář dlužníků jako pole struktur z předchozího bodu (data si vymyslete; alespoň pět záznamů).
- Napište následující funkce:
- tisknoucí dlužnou částku pro zadaný adresář, jméno a příjmení dlužníka:
void print_debt(struct dir adresar[], string jmeno, string prijemni)
- vracející dlužníka s největším dluhem (celou strukturu) v zadaném adresáři:
struct dir max(struct dir adresar[])
- navyšující dluh zadaného dlužníka o zadanou částku v zadaném adresáři:
void increase_debt(struct dir adresar[], string jmeno, string prijmeni, int castka)
- snižující dluh zadaného dlužníka o zadanou částku v zadaném adresáři:
void decrease_debt(struct dir adresar[], string jmeno, string prijmeni, int castka)
- vracející n-tého nejmladšího dlužníka pro zadané n a zadaný adresář:
struct dir nth_youngest(struct dir adresar[], int n)
- třídící zadaný adresář podle věku dlužníka:
void sort(struct dir adresar[])
- tisknoucí dlužnou částku pro zadaný adresář, jméno a příjmení dlužníka: