Kezdőoldal » Számítástechnika » Programozás » C++ tömbön belüli keresés?

Peston kérdése:

C++ tömbön belüli keresés?

Figyelt kérdés
Van egy tömböm, benne életkorokkal. Vegyük például ezt: 42, 33, 25, 66, 25, 42. A feladat az lenne, hogy meg kell számolni, hány különböző elem van a tömbben, ami jelen esetben 4 ugye. Ezt miképpen lehet megvalósítani?

2014. dec. 28. 17:11
 1/6 anonim ***** válasza:

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).

2014. dec. 28. 17:14
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Köszönöm a választ, de sajnos nem boldogultam vele - esetleg egy kódmintát, vagy egy algoritmust tudnál írni, ha megkérlek?
2014. dec. 28. 18:16
 3/6 anonim ***** válasza:

#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

}

2014. dec. 28. 18:21
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

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.

2014. dec. 28. 19:45
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Nagyon szépen köszönöm a segítséget, sikerült! :)
2015. jan. 2. 12:09
 6/6 anonim ***** válasza:
Amúgy nagy tömböknél gyorsabb lehet rendeztetni, és utána egyszer végigmenni a tömbön és megszámolni a különböző elemeket.
2015. jan. 2. 12:41
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!