Stránka 1 z 1

VB - matematické funkce

Napsal: 29 kvě 2013 14:38
od _Ondra10_
Dobrý den, mám tento problém: nějak nemůžu udělat jednoduché matematické funkce +- výtržek kódu:

Kód: Vybrat vše

Dim a,b,c
a = "2"
b = "3"
c = a + b

Jenže výsledek je: 23,nevím proč to spojuje ty čísla do řetězce. Já chci aby je to sčítalo.A mínus podobně jenom to bere písmena z řetězce.
Nevíte jak na to?
Dělám to ve Visual Basic 2010 Express.

Edit: Jěště taky nevím jak na generování náhodných čísel od nějakého čísla do jiného čísla :smile:

Re: VB - matematické funkce

Napsal: 29 kvě 2013 14:42
od Uziv00
Ale jo. Nedávej ty čísla do uvozovek.
Př. Od 1 do 10:
Int((10 * Rnd()) + 1)

Re: VB - matematické funkce

Napsal: 30 kvě 2013 09:01
od _Ondra10_
ale je tu problém já když zapnu tu aplikaci tak to vygeneruje náhodné číslo, ale když jí zapnu podruhé i potřetí atd. tak tam je furt to samé číslo, já potřebuji aby vždy když zapnu tu aplikaci tak se vygeneruje nové číslo.

Re: VB - matematické funkce

Napsal: 30 kvě 2013 09:14
od Uziv00
Já neprogramuji ve VB. Návod je dostačující. Úkoly do školy neřeším, jen poradím. Chyby v kódu si musíš najít a odstranit sám.

Re: VB - matematické funkce

Napsal: 30 kvě 2013 09:19
od _Ondra10_
Skusím něco najít.

btw: úkol do školy to není

Re: VB - matematické funkce

Napsal: 30 kvě 2013 10:29
od Uziv00
tak v tom případku si ověř, co dává fce Rnd. Měla by generovat náhodné číslo od 0 - 0,99999. To 10x je, aby byl rozsah od 0 - 9,9999. To +1, aby generované číslo nebylo menší než 1. A Int udělá to, že odřízne čísla za desetinou čárkou. Stejné číslo ti může vyjít jen, pokud tam máš chybu, nebo pokud Rnd nefunguje jak má.

Re: VB - matematické funkce

Napsal: 30 kvě 2013 12:02
od CZechBoY
kdybys náhodou používal .NET tak to zkus přes třídu Random

Kód: Vybrat vše

Dim nahoda As Int = new Random().Next()

Re: VB - matematické funkce

Napsal: 30 kvě 2013 17:00
od faraon
_Ondra10_ píše:když jí zapnu podruhé i potřetí atd. tak tam je furt to samé číslo

Tohle je běžná vlastnost skoro každého generátoru pseudonáhodných čísel, jednoduše je po spuštění programu nastavený na nějakou počáteční hodnotu, ze které vypočítá následující číslo, z něj vypočítá následující číslo... A při každém spuštění programu je tam prostě stejná počáteční hodnota, ze které se vychází.

Tu počáteční hodnotu (říká se jí seed) nastavíš příkazem Randomize(x), kde za x dosadíš libovolné náhodné číslo, nebo nic, v tom případě se automaticky použije hodnota ze systémového timeru, který bude pochopitelně při každém spuštění programu jiný (leda že bys ten program spouštěl častěji než osmnáctkrát za sekundu, to bys pak mohl stihnout stejnou hodnotu) ;-)

Re: VB - matematické funkce

Napsal: 26 čer 2013 20:31
od _Ondra10_
To CZechBoY

To je ono! To potřebuji jen by to chtělo aby generované číslo bylo jen v rosahu např. 10 - 50.

Re: VB - matematické funkce

Napsal: 28 čer 2013 12:49
od CZechBoY
new Random().Next(10, 50) snad