C++ tömbön belüli keresés?
Például bepakolod őket egy halmazba, és a végén lekérdezed a halmaz számosságát (elemszámát). A halmaz ugye az, ami minden elemet pontosan egyszer tartalmaz.
A halmazt egész egyszerűen megvalósíthatod egy másik tömbként. Csak akkor adod hozzá az új elemet, ha az még nem szerepel benne (lineáris keresés).
#1 vagyok
Algoritmust írok inkább, nem vagyok C++ guru. Amúgy még segédtömb sem kell.
db:=1
N:=tömb hossza
ciklus i:=2..N
.. ha NEM bennevan(tömb,tömb[i],i-1) akkor db++
ciklus vége
logikai bennevan(tömb, elem, meddig) {
ciklus i:=1..meddig
.. ha tömb[i]=elem akkor visszatér IGAZ-zal
ciklus vége
visszatér HAMIS-sal
}
Csináltam egy kis példát a set használatára.
pastebin[com]/FW9zetCS
Nálad annyi módosítás, hogy a for ciklusban egy változót kell növelgetned.
A lényege a set-nek, hogy nem teszi bele még egyszer az adott elemet, ha az már benne van.
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!