Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 172. feladat (2007. december)

I. 172. Egy áruház téli akciójában minden vásárlást követően, amelynek értéke meghaladja a 3000 Ft-ot, egy 100 Ft értékű utalványt kapunk. Az utalvány egy következő vásárláskor használható fel. Tervezzük, hogy a közeljövőben több terméket is vásárolunk az áruházban. Szeretnénk a lehető legjobban kihasználni az akcióban rejlő lehetőséget, ezért nem egyszerre vesszük meg, amiket szeretnénk, hanem többször vásárolunk: a megvételre kiválasztott termékeket áraik alapján úgy csoportosítjuk, hogy összességében a lehető legkevesebbet kelljen fizetni értük, tehát a vásárlások során a legtöbb kedvezményt kapjuk.

Készítsünk programot, amely a megvásárolandó termékeket (legföljebb 100 darabot) azok ára alapján úgy csoportosítja, hogy a lehető legtöbb utalványt kapjuk, így a lehető legkevesebbet kelljen összesen fizetni. A termékeket tartalmazó szöveges bemeneti fájl minden egyes sorában a termékek 6 jegyű kódja (egy hat számjegyből álló szám) és a termék ára (10 Ft és 50 000 Ft közötti érték) szerepel, egymástól szóközzel elválasztva. A program olvassa be a fenti adatokat a parancssor első paramétereként megadott bemeneti állományból, majd a második paraméterként megadott kimeneti állományba írja az eredményt. Az eredmény csak az egyes vásárlások alkalmával fizetendő összegeket tartalmazza, egy vásárlás összegét egy sorban, illetve az állomány utolsó sorában a teljes fizetendő összeg szerepeljen.

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

(10 pont)

A beküldési határidő 2008. január 15-én LEJÁRT.


A feladat megoldása a mellékelt, alapos kommentezéssel ellátott Pascal programban I172MO.PAS olvasható, lényege:

- a 3000 Ft-nál értékesebb termékeket egyszerűen egyesével megvesszük,

- a maradék termékekből megpróbáljuk a legkisebb elemszámú, legkisebb értékű 3000 Ft-ot elérő termékcsoportkat összeállítani.

A beküldött megoldásokat az alábbi tesztfileok.zip tömörített állományban lévő forrásokkal teszteltük (a mintamegoldás kimenetele is itt található).


Statisztika:

6 dolgozat érkezett.
9 pontot kapott:Földes Imre, Horváth 135 Loránd.
8 pontot kapott:1 versenyző.
7 pontot kapott:1 versenyző.
6 pontot kapott:1 versenyző.
3 pontot kapott:1 versenyző.

A KöMaL 2007. decemberi informatika feladatai