- Samsung Galaxy S26 Ultra - fontossági sorrend
- Xiaomi 17 Ultra - jó az optikája
- 3D nyomtatással csökkentené a kijelző gyűrődését az Apple iPhone Foldnál
- Megérkezett a Samsung Galaxy A37 és Galaxy A57
- iPhone topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Amazfit Active 2 NFC - jó kör
- One mobilszolgáltatások
- Google Pixel topik
- MIUI / HyperOS topik
-
Mobilarena

Ú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!
- Samsung Galaxy Felhasználók OFF topicja
- Mini PC
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Hobby elektronika
- The Division 2 (PC, XO, PS4)
- Adatmentés - HDD - SSD - Flash
- Kerékpárosok, bringások ide!
- Formula-1
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Xiaomi 17 Ultra - jó az optikája
- További aktív témák...
- Tekkusai Singularity Founder's Edition glass Mousepad
- Magyar vilbil ! HP EliteBook 640 G9 14"iPS FHD, Iris Xe, i5-1235U, 16 / 256 NVMe SSD +SZLA +GARANCIA
- Intel Core i5 13400F + hűtő
- erős akkuval! LG GRAM 14Z90 - 14"iPS 1920x1200 99%sRGB, i5-1340P 16 / 512NVMe, IrisXe SZLA +GARANCIA
- Sony PlayStation DualSense Marathon Limited Edtition
- DDR5 8GB / 16GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- AKCIÓ! Intel Core Ultra 5 235 14 mag 14 szál processzor garanciával hibátlan működéssel
- Bomba ár! Dynabook Portege X30-L-K - i7-1260P I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- Google Pixel 9a 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkPad L13 Gen 3 i5-1245U FHD+ 16GB 512GB 1 év teljeskörű garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



