POVINNÉ PRÍKLADY

Príklad 1
Alokovanie číselných hodnôt
Napíšte program, ktorý alokuje päť ľubovoľných číselných premenných a vypíše ich aj s adresami, kde sa nachádzajú.

Príklad 2
Výmena bodov
Napíšte program, ktorý dynamicky alokuje dva body A a B. Štruktúra Bod obsahuje tri reálne premenné x, y, z – súradnice bodu. Potom vytvorte funkciu, ktorá tieto dva body vymení – A bude mať súradnice bodu B a naopak.

Príklad 3
Hra - hľadanie slov 
Vytvorte súbor, ktorý bude mať nasledujúci formát:
Počet slov/viet
Počet písmen slova/vety 1
Slovo/veta1
Počet písmen slova/vety 2
Slovo/veta2
...

Váš program načíta najskôr počet slov (viet) a nechá hráča, nech si niektoré z nich zvolí. Toto slovo alebo veta sa načíta do poľa znakov, ktoré sa akoluje dynamicky, podľa udaného počtu písmen. Potom sa bude hráč snažiť uhádnuť dané slovo. Program mu bude ukazovať, ktoré písmená už uhádol. Hráč bude mať aj maximálny možný počet pokusov, ktorý stanovte, napr. ak je dĺžka slova n, môže mať n pokusov alebo podobne.

Príklad 4
Dostihy
Napíšte program, ktorý bude simulovať dostihy. Na začiatku sa zadá počet koní a potom sa dynamicky alokuje pamäť na tento počet miest. Štruktúra Kôň bude mať dve položky – meno koňa a čas, ktorý dosiahol. Mená sa načítajú z klávesnice. Potom sa program spýta, na ktorého koňa chcete staviť a koľko. Potom sa náhodne vygenerujú časy, ktoré kone dosiahli a zistí sa poradie vášho koňa. Ak váš kôň dobehol prvý, vyhrávate 10-násobok vašej stávky, ak druhý, tak trojnásobok, ak tretí, stávka sa vám vráti. Inak o peniaze prídete.

Príklad 5
Norma matice
Napíšte program, ktorý načíta maticu zo súboru a vypočíta jej euklidovskú normu. Matica je uložená v súbore tak, že najprv sú dané jej dva rozmery a potom prvky. Maticu alokujte dynamicky ako dvojrozmerné pole. Euklidovská norma sa počíta tak, že sa sčítajú všetky prvky umocnené na druhú a zo súčtu sa urobí odmocnina.

NEPOVINNÉ PRÍKLADY

Príklad 6
Načítanie obrázku vo formáte VTK.
Napíšte program, ktorý načíta dvojrozmerný obrázok vo formáte VTK. VTK formát je vlastne raw formát s hlavičkou, ktorá informuje o type dát, rozmeroch súboru a podobne. Hlavička vášho obrázku bude vyzerať takto:
# vtk DataFile Version 3.0
Distance in binary format
BINARY
DATASET STRUCTURED_POINTS
DIMENSIONS 40 40 1
ORIGIN 0 0 0
SPACING 1 1 1
POINT_DATA 1600
SCALARS scalars unsigned_char 1
LOOKUP_TABLE default

Za hlavičkou nasledujú dáta vo formáte unsigned char, súbor je binárny. 
Vašou úlohou je načítať obsah súboru „obrazok.vtk“ do dvojrozmerného poľa, ktoré sa alokuje dynamicky podľa zadaných rozmerov. Potom urobte inverziu obrázku, teda každú hodnotu x nahraďte hodnotou 255-x a zapíšte nový obrázok do súboru, s rovnakou hlavičkou.

Príklad 7
Pyramída
Napíšte program, ktorý dynamicky alokuje dvojrozmerné pole v tvare pyramídy – prvý riadok bude mať dĺžku 1, druhý 2 atď. Počet riadkov zadá užívateľ. Naplňte pyramídu tak, že navrchu bude číslo 1.  Ďalšie riadky sa naplnia tak, že na krajoch budú jednotky a ďalšie prvky sa vypočítajú ako súčet prvkov, ktoré sa nachádzajú nad nimi. Teda napr.
			
				1
			        1    1
			    1     2     1
			1     3      3    1
		       1     4      6     4     1

Príklad 8
Načítanie súboru bez udania rozmeru
Vytvorte súbor, v ktorom bude uložených niekoľko hodnôt (typ si môžte vybrať). Načítajte hodnoty z tohto súboru do poľa, ktoré sa alokuje dynamicky, pričom ale v súbore nebude zapísaný počet hodnôt.

Príklad 9
Alokovanie trojrozmerného poľa
Alokujte dynamicky trojrozmerné pole oboma spôsobmi. Hodnoty z tohto poľa zapíšte do súboru ako 3D raw obrázok.