-
Data: 2009-01-16 20:00:11
Temat: Re: Algorytm losowania obiektow posiadajacych rozna "waznosc"?
Od: "Artur Halaczkiewicz" <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Tablica int'ow wypelniona ID bannerow (aby uzyskac owa 'os'). Potem zwykle
> random() i wyciagasz banner po jego ID z bazy.
aha :)
przy zalozeniu ze wagi sa procentami i sumuja sie do 100
a waga_banera[] to tablica z wagami banerow, liczba_banerow to liczba
banerow :)
to w takim pseudo C powinno wygladac mniej wiecej tak:
[code]
int t[100];
int id=0;
for (int id_banera=0;id_banera<liczba_banerow;id_banera++)
for (int b=0;b<waga_banera[nr_banera];b++)
t[id++]=id_banera;
[/code]
(tylko nie testowalem - napisalem z glowy w mailu :) )
i teraz tylko jak chcesz to wywolujesz:
[code]
id_banera_do_wyswietlenia=t[rand()%100];
[/code]
imo - szybciej i prosciej sie nie da
oczywiscie wszystko wali w leb jezeli zalezy ci na dokladniejszych wagach
niz 1% oraz gdy banerow jest wiecej niz 100
ale wowczas wystarczy tylko zwiekszyc tablice t i chula :)
--
arturh
+----------------------------------+
| www.txt2dots.com |
| To create inscription or logo |
| using small elements like |
| coins, LEDs, matches etc. |
+----------------------------------+
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław