HW 04 - Četnost výskytu znaků

Povinné zadání 3b kontrola Coding Stylu
Volitelné zadání není
Bonusové zadání není
Počet uploadů 10
Podpůrné soubory b0b36prp-hw04.zip
Tato úloha slouží k procvičení práce s polem, kontrole načítání vstupu a práci se znakovými literály. Zájemci mohou využit funkce z knihovny ctype.h jako jsou isalpha(), isspace() nebo tolower().

Povinné zadání

  • Program ze standardního vstupu načtěte text (větu) znak po znaku (např. funkcí getchar() a vypíše počty výskytu písmen abecedy 'a'–'z' a 'A'–'Z', přičemž nerozlišuje malá a velká písmena, viz níže uvedené příklady.
  • Vstupní text (věta) může obsahovat mezery a může být zakončena tečkou '.'
  • V případě, že vstupní text obsahuje jiné znaky, program končí návratovou hodnotou 100 vypíše na standardní chybový výstup zprávu: “Chyba vstupu!”.
  • V případě, že výskyt některého písmene překročí počet 9, program končí návratovou hodnotou 101 a vypíše na stderr chybové hlášení Error: Prilis mnoho stejnych znaku!.
  • V obou případech chybového výstupu je text zakončen znakem nového řádku \n.
  • V případě chyby, první výskyt chyby ukončuje program.
  • V případě úspěšného zpracování vstupu vrací program hodnotu 0.
  • Četnost výskytu znaku je vypsána na dvou řádcích zakončených znakem nového řádku. Před každým znakem je mezera.

 a b c d e f g h i j k l m n o p q r s t u v w x y z
 3 0 1 1 2 0 1 1 1 0 1 1 1 0 0 0 0 4 1 4 2 0 0 0 1 0

Příklad 1 - pub01

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
The quick Elijah drives bright garden.
 a b c d e f g h i j k l m n o p q r s t u v w x y z
 2 1 1 2 4 0 2 3 4 1 1 1 0 1 0 0 1 3 1 2 1 1 0 0 0 0
žádný 0

Příklad 2 - pub-e1

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
The mysterious Evelyn
build the 1st rusty car.
žádný
Chyba vstupu!
100

Příklad 3 - pub-e2

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
The fierce car runs
cooooooooool sparkling river.
žádný
Error: Prilis mnoho stejnych znaku!
101

Příklad 4 - pub-e3

Vstupní hodnoty (stdin) Výstup (stdout) Chybový výstup (stderr) Návratová hodnota
The 2nd fierce car runs
cooooooooool sparkling river.
žádný
Chyba vstupu!
100

Odevzdání

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

Povinné zadání
Název v BRUTE HW04
Odevzdávané soubory main.c
Argumenty při spuštění žádné
Návratová hodnota 0;
100; “Chyba vstupu!” → stderr
101; “Error: Prilis mnoho stejnych znaku!” → stderr
Kompilace pomocí clang -pedantic -Wall -Werror -std=c99 -O2
Očekávaná časová složitost $\mathcal{O}(n)$
Procvičované oblasti pole
courses/b0b36prp/hw/hw04.txt · Last modified: 2025/09/17 20:50 by faiglj