Hogy kezdjem el?
A feladat így szól: Összeállítottunk egy zenelejátszási listát, amelyben N zeneszám van. A listában a lejátszás sorrendjében
szerepelnek az előadók neve (egy szó), a dal címe (egy szó) és a hosszúsága másodpercekben. (Ugyanaz az
előadó, ugyanazzal a dallal csak egyszer szerepel.)
a) Milyen hosszú ideig tart a lista lejátszása?
b) Hányszor szerepel-e egy adott című dal a listán?
c) Ha a lejátszási listát végtelenítjük, melyik dalt halljuk kezdéstől számított K másodperc múlva?
d) Van-e olyan dal, amelyik több előadó előadásában is szerepel a listában?
Én úgy csinálnám, hogy a listát beszervezném 3 tömbbe ("oszloponként", 2 string és egy int tömb) majd a feladatok megoldását 1-1 függvényként írnám meg, amely függvények ezzel a 3 tömbbel dolgoznak, plusz egy bemenő paraméterrel (adott dal, K másodperc):
a.) összeadjuk az intes tömb minden elemét
b.) összeszámoljuk, hogy a dalcímes listában hányszor van meg a keresett dal
c.) a.) eredményének vesszük a K-val való egész osztás maradékát. A maradékból elkezdjük sorban kivonogatni az intes tömb elemeit. Amelyiknél először lesz negatív a kivonás eredménye az a dal fog szólni.
d.) felveszünk egy új tömböt, és elindulunk a dalszöveg tömbön: ha nincs benne az új tömbben az éppen vizsgált, akkor beletesszük, ha benne van, akkor kilépünk és azt mondjuk, hogy van olyan dal, ami több előadónál is szerepel. Ha végigérünk az eredeti listán anélkül, hogy kilépnénk, akkor visszaadjuk, hogy nincs olyan dal, ami két előadónál is szerepel.
struct Zeneszam
{
string eload, cim;
int hossz, kezdet;
};
Én ezzel kezdeném és nem több tömbbel :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!