Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2015. november 29.

2015. november 29. 10:40 – 2015. november 29. 15:40

TeX-szerű idézőjelek

A TeX egy szövegtördelő nyelv, amelyet Donald E. Knuth fejlesztett ki. Bemenetként a forrásszöveget kapja meg néhány utasítással, amely a tördelésre vonatkozik, és előállít egy (remélhetőleg) gyönyörű dokumentumot. A gyönyörű, angol nyelvű dokumentumok “ és ” jeleket használnak az idézetek elhatárolására a nyomdai idézőjel (") helyett, amely a legtöbb billentyűzeten megtalálható. A billentyűzetek általában nem tartalmaznak döntött idézőjeleket, de tartalmaznak bal oldali aposztrófot (`) és jobb oldali aposztrófot ('). Keresd meg a billentyűzeteden ezeket a billentyűket! Vigyázz, nehogy összekeverd a bal oldali aposztrófot a visszaper (\) billentyűvel! A TeX-ben a felhasználó két bal oldali aposztróf (``) begépelésével egy bal oldali idézőjelet (“), míg két jobb oldali aposztróf ('') begépelésével egy jobb oldali idézőjelet (”) állíthat elő. A legtöbb gépíró(nő) azonban ahhoz van hozzászokva, hogy az idézeteit nem döntött idézőjelekkel (") határolja.

Ha a forrás a

"To be or not to be," quoth the bard, "that is the question."

szöveget tartalmazza, akkor a TeX által előállított tördelt dokumentum nem ezt a kívánt formát fogja ölteni:

“To be or not to be,” quoth the bard, “that is the question.”

A kívánt forma előállításához a forrásnak az alábbi mondatot kell tartalmaznia:

``To be or not to be,'' quoth the bard, ``that is the question.''

Írj programot, amely az idézőjel karaktereket tartalmazó szöveget átalakítja olyan szöveggé, amely egyenértékű vele, azzal a kivétellel, hogy az idézőjelek helyett azok a kétkarakteres karaktersorozatok szerepelnek, amelyek a TeX számára az idézetek döntött idézőjelekkel történő határolásához szükségesek. Az idézetet nyitó idézőjel karaktereket a `` karaktersorozatra, az idézetet záró idézőjel karaktereket pedig a '' karaktersorozatra kell cserélni. Figyelj arra, hogy a beágyazott idézetek kérdése nem merül fel: az első idézőjelet ``-ra kell cserélni, a következőt ''-ra, a következőt ``-ra, a következőt ''-ra, a következőt ``-ra, a következőt ''-ra stb.

A bemenet és a kimenet specifikációja

A bemenet több sornyi szövegből áll, amely páros számú idézőjel karaktert tartalmaz. A bemenet végét EOF jelzi. A szöveget pontosan úgy kell a kimenetre írni, ahogy a bemeneten megjelent, kivéve hogy

  • az idézőjelpárok első " karakterét két ` karakterrel (``) kell helyettesíteni,
  • az idézőjelpárok második " karakterét két ' karakterrel ('') kell helyettesíteni.

Példa bemenet

  1. "To be or not to be," quoth the Bard, "that
  2. is the question".
  3. The programming contestant replied: "I must disagree.
  4. To `C' or not to `C', that is The Question!"
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. ``To be or not to be,'' quoth the Bard, ``that
  2. is the question''.
  3. The programming contestant replied: ``I must disagree.
  4. To `C' or not to `C', that is The Question!''
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.