-
Fototrend

Új hozzászólás Aktív témák
-
Miracle
senior tag
válasz
Cathfaern
#344
üzenetére
sorry.
mondjuk így néz ki amit akarsz:
int a[1..100]; /* ebbe a tömbbe eltárolod a számokat, amikben keresni akarsz, persze _növekvő_ sorrendben.*/
struct nincs_meg{};
ekkor a függvény(a pontos a sorok elején csak a tabulálás miatt vannak ott):
int logker(const int[] t, const int b, const int e, const int what)
{
. int temp = (b+e) /2;
. if (t[temp] > what)
. {
. return logker(v, b, temp, what);
. }
. else
. {
. if (v[temp] == what) return temp;
. if (b = e) throw(nincs_meg);
. return logker(v, temp, e, what);
. }
}
ez egy rekurzív megvalósítás, nem garantálom, hogy műxik, nem fordítottam le, de szerintem működni fog. vedd észre, hogy hiába statikus az a tömb mérete, ezt a függvény nem használja ki, bármekkora tömböt átadhatsz neki, csak a 2. és a 3. változó 0, illetve tömbméret-1 legyen. megvalósítható templatekkel is, de nem szeretném bonyolítani. így tudod használni
try
{
logker(a,0,99,40) //a fenti a tömbben keressük a 40 értéket
}
catch(nincs_meg){std :: cout << ''nincs ilyen értékű elem a tömbben\n'';}
remélem érthető(és működik)
a műveletigény azt jelenti, hogy ezzel az algoritmussal ha n hosszú a tömb, akkor legrosszab esetben log_2(n) felső-egész-rész lépésben megtalálod a keresett számot, log2n pedig az a szám, mire 2őt emelve n-et kapunk, így tudod kiszámolni számológéppel: log_2(n) = lg(n) / lg(2) (itt lg tetszőleges logaritmus, amit találsz a számológépeden) megjegyzem, hogy az átlagos műveletigény azt feltételezve, hogy a keresett száém megtalálásának valószínűsége minden rekeszben 1/n log_2(n) felső-egészrész -1
és bocs hogy összezavartalak, remélem kiengeszteltelek..
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Avast! Antivirus topic
- Milyen NAS-t vegyek?
- A Windows 11 nem akarja ránk erőltetni az AI applikációkat – vagy mégis?
- Napelem
- exHWSW - Értünk mindenhez IS
- iPhone topik
- Nyaralás topik
- Kormányok / autós szimulátorok topikja
- Kertészet, mezőgazdaság topik
- További aktív témák...
- Eladó Konfig Ryzen 5 7600 16GB DDR5 1TB SSD RX6800 16GB!
- Corsair VENGEANCE 32GB (2x16GB) DDR5 4800MHz CL40 - 99 hó garancia
- Szép! Lenovo ThinkPad P15 G1 Tervező Vágó Laptop -50% 15,6" i7-10850H 32/512 QUADRO RTX 3000 6GB FHD
- Samsung Galaxy Watch 7 44mm
- IPAD AIR 4 (2020) Wifi+Cellular 256GB, világos zöld, garanciával, üzletből
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3965
- Xiaomi Redmi 13 128GB,Újszerű,Adatkabel,12 hónap garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS4237,100% Akksi
- Samsung Galaxy Note 20 256GB,Újszerű,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



