HW 04 - Kreslení (ASCII art)

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

Povinné zadání

  • Program ze standardního vstupu načtěte dvě přirozená čísla v rozsahu 3 až 69, včetně obou těchto krajních hodnot.
  • Z načtených čísel “vykreslete” na standardní výstup domeček podle předlohy níže.
  • První číslo udává šířku domečku, druhé výšku domečku. Viz Příklad 1.
  • Pokud se nepodaří načíst obě čísla, tak vypište na standardní chybový výstup zprávu: “Error: Chybny vstup!” a program ukončete s návratovou hodnotou 100. Viz Příklad 2.
  • Obě čísla (jak šířka, tak výška) musí být v daném intervalu. V případě, že tomu tak není, vypište na standardní chybový výstup zprávu: “Error: Vstup mimo interval!” a program ukončete s návratovou hodnotou 101. Viz Příklad 3.
  • První číslo reprezentující šířku musí být vždy liché. Pokud tomu tak není vypište na standardní chybový výstup chybovou hlášku: “Error: Sirka neni liche cislo!”, v takovém případě je návratová hodnota programu 102. Viz Příklad 4.
  • Každý řádek končí znakem nového řádku, který je ihned za posledním symbolem na řádku ('X'), nebo ('|') pro volitelné zadání.
  • Textová informace o chybě vypsaná na standardní chybový výstup je zakončena znakem nového řádku.

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 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)

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

Bonusové zadání

Bonusové zadání je rozšířením základní verze domácího úkolu. V Brute se odevzdává jako samostatný domácí úkol. Zadání můžete nalézt ZDE.

Odevzdání

Veřejné příklady + Makefile: hw04.zip

Povinné zadání Volitelné zadání
Název v BRUTE HW04
Odevzdávané soubory main.c
Argumenty při spuštění žádné žádné
Kompilace pomocí clang -pedantic -Wall -Werror -std=c99 -O2
Očekávaná časová složitost $\mathcal{O}(n \cdot m)$ $\mathcal{O}(n \cdot m + p \cdot p )$
Procvičované oblasti použití vnořených cyklů něco navíc … TBD
courses/b0b99prpa/hw/hw04.txt · Last modified: 2019/10/29 21:13 by viteks