Feladat: I.152 Korcsoport: - Nehézségi fok: -
Füzet: 2007/február, 103. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Készítsünk karakterfelismerő programot. A felismerendő karaktereket mutatja az alábbi ábra:

 
 

A felismerendő betűket a be.txt nevű fájl tartalmazza, a fehér kockáknak a 0, a feketéknek az 1-es számjegy felel meg a be.txt fájlban. A bemenő adatok mindig 5×8-as méretű betűket tartalmaznak, köztük 2 oszlop fehér hely marad üresen. Az első betű előtt és az utolsó után nincs elválasztó oszlop. A bemenet több sorból áll, minden 8. sor csak 0-át tartalmaz a karakterek elválasztása miatt.
A felismerés szabálya a következő:
‐ Ha a bemenő jel valamely betű fekete pontjával egyező helyen szintén fekete, akkor az egyezés mértéke 1-gyel nő.
‐ Ha a bemenő jel valamely betű fekete pontjával nem egyező helyen fekete, akkor az egyezés mértéke 1-gyel csökken.
A karaktert felismertnek tekintjük, ha az egyezés mértéke legalább 50%-ban egyezik valamely karakterrel. Ez esetben a legjobban hasonlító karaktert kell a kimenetben megadni. Ha két betű azonos százalékban egyezik, vagy az egyezés mértéke minden betűre kisebb, mint 50%, akkor a kimenet ,,?'', más esetben a kimenet a felismert betű legyen, és elválasztás nélkül a ki.txt fájlba kerüljön.
Például:
 
 

Bemenő jel esetén:
 
 

A felismert karakter: B.
Beküldendő a feldolgozó program forrásállománya (i152.pas, i152.cpp, ...).