Feladat: I.238 Korcsoport: - Nehézségi fok: -
Füzet: 2010/április, 228 - 229. 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.

A matematikában és a természettudományokban a kifejezések leírásához hagyományosan zárójelezést használunk.
Készítsünk programot i238 néven, amely egy zárójeles kifejezésben megkeresi az első hibás vagy hiányzó karakter pozícióját. A kifejezésben háromféle zárójeltípus, számjegy és operátor lehet. A kifejezés más helyességét most nem ellenőrizzük.
Szabályos zárójelezés:

ha s sorozat rendesen zárójelezett (s üres is lehet), akkor (s), [s] és s is az,
ha s és p sorozat szabályos, akkor sp is szabályos,
minden más sorozat szabálytalan.

 
 

A program első parancssori argumentuma legyen egy több tesztesetet leíró adatállomány neve. A fájl első sorában N (1N100) a tesztesetek száma és az ezt követő N sorban a tesztesetek állnak, amelyek hossza 1 és 255 közötti.
A parancssor második argumentumaként megadott kimeneti állomány N sorban egy-egy egész számot, az első hibás vagy hiányzó karakter pozícióját adja.
Például:
 
 

Beküldendő egy tömörített i238.zip állományban a program forráskódja (i238.pas, i238.cpp, ...), valamint a program rövid dokumentációja (i238.txt, i238.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.