- Fájlformátumok a gyakorlatban: ProRes, H.265, AV1
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- Olcsóbb fajtájúnak ígérkező Team Group SSD a PCI Express 5.0-s halmazban
- Több memóriát kapott az RTX PRO 5000 új kiadása
- Obsbot blog: 4K-s produkciós kamera professzionális babérokra törőknek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen billentyűzetet vegyek?
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- Vezetékes FEJhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Notebook hibák
- HP notebook topic
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
-
PROHARDVER!
Ú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.. -
VladimirR
nagyúr
válasz
Cathfaern #344 üzenetére
math.h
egyebkent nem zavar be, igaza van - ha nincs kulon benne a feladatban, hogy szamold ki a lepesek szamat, akkor nincs ra szukseged
egyebkent az ilyen feladatokat a legkonnyebb programozni, hisz az algoritmus ott van elotted (irtad, hogy ''az elvet tudod'' - na ez nem csak az elv, ez maga az algoritmus)
egyebkent miben programozol? (ha jol remlik, akkor te linuxot nyuzols, szoval gondolom valami egyszeru szovegszerkeszto es parancssoros fordito) -csak azert mert pl a borland dos-os ''fejlesztokornyezeteinek'' (bp, bc) igen jo a sugoja, csak ajanlani tudom -
faster
nagyúr
válasz
Cathfaern #344 üzenetére
Bináris kereséshez nem kell logaritmust számolni, mert azt úgy számolod, hogy az intervallumot felezve közelíted az eredményt, és ehhez max. log2n lépésre van szükséged, de ezt nem kell előre kiszámolni. Te csak szépen közelítesz az eredményhez, majd hopp, megvan.
Egyébként úgy, ahogy VladimirR leírta 336-ban:
''van ugye az intervallumod, amit a ket ''korlatja'' hataroz meg, ha egyik sem esik egybe a szammal, akkor ellenorzod, hogy a max+min/2 az nagyobb, vagy kisebb, mint a szam, s ennek megfeleloen a max, vagy min erteket (az intervallum szele) egyenlove teszed a max+min/2-vel - igy egyre kisebb lesz az intervallum, mig el nem talalod a szamot''
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Akciófigyelő: Kedvezményekkel nyílt új Xiaomi Partner üzlet a Westendben
- Sweet.tv - internetes TV
- Xbox Series X|S
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen billentyűzetet vegyek?
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- Bittorrent topik
- WoW avagy World of Warcraft -=MMORPG=-
- További aktív témák...
- Apple iPhone 15 Pro, 128Gb, független, fekete, 1 év garancia
- AMD Ryzen 5 5600X 6-Core 3.7GHz AM4
- Bomba ár! HP ProBook 430 G3 - i3-6GEN I 4GB I 128SSD I HDMI I 13,3" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 430 G5 - i3-7GEN I 4GB I 128GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! HP EliteBook 845 G11 - Ryzen 5 8540U I 16GB I 512SSD I 14,1" Touch I Cam I W11 I NBD Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Gamer PC-Számítógép! Csere-Beszámítás! R7 2700X / GTX 1080Ti / 16GB DDR4 / 512 SSD!
- Samsung Galaxy S24 Ultra / 12/256GB / Gyári független / 12Hó Garancia
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3389, 94% Akkumulátor
- ÓRIÁSI AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest