Cvičení k 10. a 11. lekci Céčka

C++ Základní konstrukce C Cvičení k 10. a 11. lekci Céčka

Následující 3 cvičení vám pomohou procvičit znalosti programování v C z minulých lekcí. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte :)

Pokud si opravdu nebudete vědět rady, podívejte se raději znovu do minulého tutoriálu a pokuste se na to přijít.

Jednoduchý příklad

Vytvořte program, který do konzole vykreslí šachovnici. Pro tmavá pole můžete využít mřížku "#" nebo kterýkoli jiný znak, pro světlá pole využijte mezeru.

Vykreslení šachovnice v Céčku

Tip: Pro vykreslení samozřejmě využijte znalosti cyklů. Pro zjištění zda je pole světlé nebo tmavé vám pomůže modulo.

Středně pokročilý příklad

Naprogramujte aplikaci, která simuluje hru piškvorky pro 2 hráče. Aplikace vykresluje hrací plochu do konzole a nechává si střídavě od hráčů zadávat souřadnice, na které pokládají své kameny. Kontrolu výhry můžete zanedbat, uživatelské vstupy ošetřete.

K reprezentaci hrací plochy využijte vícerozměrného pole.

Ukázka programu:

Piškvorky v Céčku

Pokročilý příklad

Pomocí goniometrické funkce sinus vykreslete do konzole jednu periodu sinusoidy (grafu této funkce).

Nápověda: Protože je vypisování pouze jednosměrné (co napíšeme již nelze vzít zpět) a lineární (musíme zapisovat znaky, jak jdou po sobě), používá se u úloh podobného typu tzv. buffer. Buffer je pole znaků v paměti, kde si připravíme jak chceme obrazovku vykreslit a teprve až je vše jak potřebujeme, vykreslíme vše naráz. V tomto případě si vytvoříme buffer podle rozměrů, které si nastavíme (bude se jednat o 2D pole). Do tohoto bufferu zaneseme jednotlivé body sinu. Až budeme mít celý výpočet hotový, teprve poté celý buffer vykreslíme do konzole.

Ukázka programu:

Vykreslení sinu v Céčku

Tip: Perioda funkce sinus je 2 PI. Začněte vykreslením této křivky v poměru 1:1, sice bude malá, ale bude v konzoli vidět. Abyste dosáhli výsledku jako na obrázku, musíte ji pronásobit poměrem rozměrů konzole a hodnotou funkce sinus. Sinusoida se poté roztáhne. Jednotlivé souřadnice bodů vypočítávejte v desetinných číslech, výsledné souřadnice teprve zaokrouhlíte na celé znaky.


 

Stáhnout

Staženo 33x (98.81 kB)
Aplikace je včetně zdrojových kódů v jazyce c

 

  Aktivity (4)

Článek pro vás napsal patrik.valkovic
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu.

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 


Miniatura
Předchozí článek
Matematické funkce v jazyce C
Miniatura
Všechny články v sekci
Programování v jazyce C - Základy
Miniatura
Následující článek
Funkce v jazyce C

 

 

Komentáře

Avatar
Mate
Člen
Avatar
Mate:

Dobrý den,

řešení středně těžkého příkladu, které tu máte ke stažení není správně. Nefunguje zadávání do sloupce H.

Tak není ošetřeno zadávání malých písmen (to ale není součástí zadání).

 
Odpovědět 25. července 16:11
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Mate
patrik.valkovic:

Chybělo rovnítko, mělo by to být opraveno.

Odpovědět 25. července 19:03
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.