Table of Contents

HW 1 - Kreslení (ASCII art)

Termín odevzdání 07.03.2020 23:59 PST
Povinné zadání 2b
Volitelné zadání není
Bonusové zadání není
Počet uploadů 10
Tato úloha slouží k procvičení vnořených cyklů. Není potřeba používat pole.

Povinné zadání

Ze standardního vstupu načítejte maximálně tři čísla a to pouze v případě, že jsou první dvě čísla shodná.

Pořadí kontroly vstupu:

Kontroly vstupu a případné vypsání chyby musí být provedeno v předem zadaném pořadí:

  1. Zadaná šířka domu nebo výška domu nebo velikost plotu není platné číslo (100)
  2. Zadaná šířka domu nebo výška domu není v požadovaném intervalu (101)
  3. Zadaná šířka domu není liché číslo (102)
  4. Zadaná velikost plotu musí být kladná a ostře menší než je výška domu (103)
Chyba 100 indikuje, že očekávaný vstup není platné číslo, proto se vztahuje též na velikost plotu. Pokud se nepodaří načíst celé(á) číslo(a) neodpovídá vstup očekávání. Využijte návratovou hodnotu funkce scanf().

Příklad 1 - pub01

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
7 4
   X
  X X
 X   X
XXXXXXX
X     X
X     X
XXXXXXX
žádný 0

Příklad 2 - pub02

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
x 16
žádný
Error: Chybny vstup!
100

Příklad 3 - pub03

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
-4 16
žádný
Error: Vstup mimo interval!
101

Příklad 4 - pub04

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
8 21
žádný
Error: Sirka neni liche cislo!
102

Příklad 5 - pub05

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
9 9 6
    X
   X X
  X   X
 X     X
XXXXXXXXX
Xo*o*o*oX
X*o*o*o*X
Xo*o*o*oX-|-|-|
X*o*o*o*X | | |
Xo*o*o*oX | | |
X*o*o*o*X | | |
Xo*o*o*oX | | |
XXXXXXXXX-|-|-|
žádný 0

Příklad 6 - pub06

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
5 5 x
žádný
Error: Chybny vstup!
100

Příklad 7 - pub07

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
5 5 10
žádný
Error: Neplatna velikost plotu!
103

Odevzdání

Veřejné příklady + Makefile: b3b36prg-hw01.zip

Ve výpisu domečku dbejte na bíle znaky (mezery), platný znak obrázku je zakončem symbolem nového řádku ('\n'). I znaky, které nejsou na první pohled viditelné jsou znaky, proto pro kontrolu můžete uložit standardní výstup programu do souboru a zobrazit jej v hexadecimálním tvaru například příkazem hexdump -C a porovnat s přiloženými vzorovými výstupy.
Povinné zadání
Název v BRUTE HW1
Odevzdávané soubory main.c
Argumenty při spuštění žádné
Kompilace pomocí clang -pedantic -Wall -Werror -std=c99
Očekávaná časová složitost $\mathcal{O}(n \cdot m)$, resp. $\mathcal{O}(n \cdot m + p \cdot p )$
Procvičované oblasti použití vnořených cyklů