Feladat: I.313 Korcsoport: - Nehézségi fok: -
Füzet: 2013/február, 103 - 104. oldal  PDF  |  MathML 

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 fák évgyűrűi az évszakok miatt alakulnak ki a mérsékelt éghajlati övben. A fák télen és nyáron eltérő mértékben növekednek. Az évgyűrűk vastagsága között különbség van, mert a növekedés mértékére hatással van például az adott időszakban az időjárás szárazabb vagy csapadékos jellege. Az évgyűrűk vizsgálata így lehetővé teszi az éghajlat kutatását. A dendrokronológiát a régészek szívesen használják kormeghatározásra. Ha azonos éghajlatú területen két fa eltérő időpontban ,,született'', de életükben volt közös szakasz, akkor abban az időszakban az évgyűrű szerkezete hasonló. Ennek segítségével több fa évgyűrűmintázata összeilleszthető. Egyes területeken a régészek évezredekre visszamenő pontos kronológiával rendelkeznek.
Adott N fa évgyűrűmintája, azaz az évgyűrűk vastagsága milliméter pontossággal. A mintavétel módszerének részleteitől, statisztikai feldolgozásának elemzésétől most eltekintünk.
A fák eltérő fajúak és korúak lehetnek, ezért a minták illesztésénél az egymás utáni évgyűrűvastagságok arányainak sorozatát hasonlítjuk össze. Például az egyik mintában a 6, 4, 2, 8, 5 milliméter széles gyűrűk esetén az összehasonlítást 0,66, 0,50, 4,00, 0,62 sorozattal végezzük.
Az illesztést akkor tekintjük jónak, ha legalább 10 arány legföljebb egy százalék hibával azonos és a hátralévő részében rövidebb minta minden aránya megegyezik a hosszabbikéval. Vegyük figyelembe, hogy akár több minta is illeszkedhet. A legrégebben kifejlődött fa évgyűrűmintája szerepel elsőként a fájlban tárolt mintázatok között.
Készítsünk programot i313 néven, amely megadja N évgyűrűminta esetén a legtöbb évet lefedő, az elsőből induló, illeszkedő mintasorozatát és ehhez a minták sorrendjét. A képernyőn az évek számát és a minták sorrendjét jelenítsük meg.
A program parancssori argumentuma legyen az évgyűrűminták adatait leíró adatállomány neve. A fájl első sorában N (2N50) a minták számát adja meg. Az ezt követő N sor az egyes minták adatait adják meg. Minden sor első értéke H (10H500) az adott minta évgyűrűinek száma, majd H darab egész szám, az évgyűrűk szélességei következnek.

 
 

Beküldendő a program forráskódja (i313.pas, i313.cpp, ...) és rövid dokumentációja (i313.txt, i313.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ó.