Feladat: I.130 Korcsoport: - Nehézségi fok: -
Füzet: 2006/április, 230 - 231. 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.

Írjunk programot, ami egy szövegben anagrammákat keres. Két szó egymás anagrammája, ha minden egyes betűből ugyanannyit tartalmaz, mint például a keret és a retek szó.
A program bemenete és kimenete egy-egy szövegfájl, amelyek nevét a program első, illetve második paramétereként adjuk meg. Például, ha a szoveg.txt nevű fájlban található anagrammákat akarjuk az anagrammak.txt nevű fájlba összegyűjteni, akkor az

i130.exe szoveg.txt anagrammak.txt
parancsot adjuk ki.
A bemenő fájl több sorban, szóközökkel elválasztva legfeljebb 1000 szót tartalmaz. Mindegyik szó legfeljebb 30 karakterből áll, és nem tartalmaz ékezetes betűt. Az összetett betűket az egyszerűség kedvéért több betűnek tekintjük, tehát például a ZS betűkombinációt minden esetben egy Z és egy S betűként értelmezzük. A kis- és nagybetűket azonosnak vesszük.
A kimenet minden sora egy-egy anagramma-csoport szavait tartalmazza sorba rendezve, szóközökkel elválasztva. A csoportokat a szavak száma szerint csökkenő sorrendben soroljuk fel.
Példa:
 
 

Beküldendő a program forráskódja (i130.pas, i130.cpp, ...).