Meg tudom csinálni azt a C++-ban, hogy EGY darab Maximumkiválasztás függvényt meg tudjak hívni egy tömbre és egy 2D mátrixra is?
Függvény overload a barátod.
Írsz egy max(int[] sor) függvényt, amiben a tömbben keresel maximumot egy for ciklussal.
Ezen felül írsz egy max(int[][] m) vagy max(matrix m) vagy ahogy akarod nevezni, és ott is elég egy for ciklus, mert:
for(int sor=0; sor<maxsor; sor++){
max(sor);
}
és ebben az esetben ugyanazt a függvényt hasznosítod újra.
#1 vagyok, javítom:
max(sor) helyett max(m[sor]) kell
Meg.
A kulcs az, hogy nem foglalkozol azzal, hogy milyen adatszerkezet van a háttérben, mert a feladat szempontjából teljesen irreleváns.
A nagyok ezt úgy mondják, hogy "iterátorra implementált algoritmus". (Ez egyébéknt az stl-ben már meg is van valósítva.)
Ami minden iterálható adatszerkezetben közös, hogy:
- Le tudod kérni az aktuális elemét
- Tovább tudsz iterálni a következő elemre
- Meg tudod kérdezni, hogy van-e még hátralévő elem
Így valósítsd meg az algoritmusod és ennek megfelelően add át az 1 vagy 2 dimenziós tömbödet is.
#1: Nem nagyon sikerült megértened a feladatot.
Ha overload van az akkor már 2 függvény, nem 1.
"A nagyok ezt úgy mondják, hogy "iterátorra implementált algoritmus""
Kik azok a nagyok? Sosem hallottam ezt, úgyhogy rákerestem Google-ben is a kifejezésre, magyarul és angolul is és semmit nem találtam.
Tanulgassatok, rátok fér.
Gondolom az IEnumerable interfészről sem hallottatok még .Net alatt, vagy C++-ban a Standard Template Library-ről, lásd: [link]
Érdemes benézni ide, rögtön feloldódik a sokak által emlegetett paradoxon, hogy mindenki programozónak tanul mégis hiány van.
Hát pontosan ezért, mert alapfogalmakkal sem vagytok tisztában.
Mindkét link.
Nem tudsz olvasni?
Váó.
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!