Diskuze: Výběr z množiny
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
function $(id) {return document.getElementById(id);} // to by ti tam zjednodusilo praci...
function rnd(n) {return Math.floor(Math.random()*n);}
x = zadani.length; // nepouzivej opakovane pole.length, pokud ti zalezi na rychlosti
a = rnd(x)
b = rnd(x)
while (a==b) {b = rnd(x)} // jenze to muze provest treba 1-1000 opakovani takze by mozna bylo lepcejsi...
if (a==b) {b = (b+1+rnd(x-1)) % x}
// cili b+1, aby posun byl min +1
// rnd(x-1), aby posun nebyl max protoze by ses dostal na zacatek
// % x je zbytek po celeciselne deleni, to funguje tak, ze vraci f(cislo, x) = 0 az x-1 = (cislo/x - floor(cislo/x)) * x
Zkratka % funguje takto
x = 3
0 % 3 = 0
1 % 3 = 1
2 % 3 = 2 // 2/3 = 0, zbytek 2
3 % 3 = 0 // 3/3 = 1, zbytek 0
4 % 3 = 1
5 % 3 = 2
A ten posun
x = 3
a = 1
b = 1
---
b+1 = 2
rnd(x) kdyby ti vyslo 2, cili max hodnota
b+1+2 = 2+2 = 4
4 % 3 = 1 == a, coz se rovna puvodne 'a' a tos nechtel, tak proto rnd(x-1)
---
b + 1 proto, ze rdn vychazi i 0, takze by mohl nastat pripad
b + rnd(x-1) = b + 0
Ahoj, jen mě napadlo, jestli by nebylo jednodušší:
krok 1...zamíchat pole s jednotkama
krok 2. zadani 1...pole[0] zadani 2...pole[1]
Díky za rady, vykoumal jsem to trošku jinak, ale pomohli jste mi. Ještě
bych ale potřeboval nějak definovat vztahy mezi jednotkama. Ve smyslu že 1 m
= 100 cm atd... Mám řešení s podmínkou, ale řekl bych že to je přímo
prasácký xD. Uvítal bych rady
Pouzij tabulku osami x-x, to mi prijde jednoduche, prehledne, snadno
doplnitelne treba o prevody u prace na joule-watt.
.001 = 1e-3
1000 = 1e3
1000000 = 1e6
Jo, ty hodnoty takhle mám vymyšlený... Ale nevím teda o té tabulce,
zkusím zagooglit, ale kdyby si mi ji dal třeba pro vzdálenost, byla by to
ideálka
No, tabulku x-x. Nevim, jak to rici jinak. Bud mas tabulku x+radky nebo x-y nebo jinou. popisky z x pouzijes pro y. Jsem teda predpokladal asi mysle, ze umis tabulku zapsat do js array.
y\x mm cm dm
mm 0 0.1 0.01
cm 10 0 0.1
dm 100 10 0
y = dm z jednotek
x = mm do jednotek
nasobek = tab[y][x] = 100
// zapisuje se to takto
// tab = []
// tab[2] = []
// tab[2][0] = 100
// nebo
// tab = []
// tab[2] = [100, 10, 0, 0.1]
// nebo
tab = [
[0, 0.1, 0.01],
[10, 0, 0.1, 0.01], // v podstate zkopirujes radek a pred prvni cislo napises nove; cisla na konci nemusis mazat
[100, 0, 0.1, 0.01] // posledni je bez carky
]
Zobrazeno 8 zpráv z 8.