Visual basic radnom karankter u tekstu??

poruka: 8
|
čitano: 2.029
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Visual basic random karakter u tekstu??

Kako za unetu rijec npr: "zagreb" da kroz petlju izmjesam slova.

 

 

PRIMJER:

"taksi" ------------  "ksiat"

"zvake"------------ "eakvz"

 

znaci slucajnim izborom.

Poruka je uređivana zadnji put pet 24.4.2009 21:40 (close).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Visual basic random karakter u tekstu??
17 godina
offline
Visual basic radnom karankter u tekstu??

Koristi slučajne brojeve. Ne sjećam se kako je točno izvedeno (mislim Random.NextDouble(), ali provjeri), uglavnom ovako nekako bi bio pseudokod:

 

popis popis_pozicija (array, list, ili što već želiš)

za i = 0 do broj_slova

 pozicija = random_broj_izmedju_od_0_do_1 * broj_slova

 

 // trazimo prvu slobodnu poziciju, moguce je da ces dobiti broj slova koje već imaš - teoretski moguća beskonačna petlja

 dok popis_pozicija.ne_sadrzi (pozicija):

  pozicija = random_broj_izmedju_od_0_do_1 * broj_slova

 

 popis_pozicija.dodaj(pozicija)

 

 novi_string[i] = stari_string[pozicija]

 
0 0 hvala 0
17 godina
neaktivan
offline
Visual basic radnom karankter u tekstu??

nisi napisao koji vb!

 

evo za vb6:

 

Function PomjesajSlova(tekst As String) As String

Dim temp As String

Dim a() As Integer

Dim n As Integer, i As Integer, j As Integer, e As Integer

Dim ok As Boolean

 

n = Len(tekst) - 1

ReDim a(n)

Randomize Timer

For i = 0 To n

tu:

j = Int(Rnd * (n + 2))

ok = True

 

  For e = 0 To n

   If a(e) = j Then ok = False

  Next e

  

  If j = 0 Or ok = False Then GoTo tu

  

 a(i) = j

 DoEvents

 Next i

 

 For i = 1 To (n + 1)

 temp = temp & Mid(tekst, a(i - 1), 1)

 

 Next i

 

PomjesajSlova = temp

End Function

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: Visual basic radnom karankter u tekstu??

funkcija slucajnih brojeva npr 1-10

slucajni_broj=Int((10 * Rnd) + 1)

 

HVALA ti i za ovo!

16 godina
neaktivan
offline
RE: Visual basic radnom karankter u tekstu??

@Nadimak888

Puno ti hvala,to je to sto mi je trebalo.Verzija VB-a mi nije bitna,evo ja sam vec preradio na VBA excel 2003 :)

 

 

 

 

17 godina
neaktivan
offline
Visual basic radnom karankter u tekstu??

np :)

Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
RE: Visual basic radnom karankter u tekstu??
itf4n kaže...

Koristi slučajne brojeve. Ne sjećam se kako je točno izvedeno (mislim Random.NextDouble(), ali provjeri), uglavnom ovako nekako bi bio pseudokod:

 

popis popis_pozicija (array, list, ili što već želiš)

za i = 0 do broj_slova

 pozicija = random_broj_izmedju_od_0_do_1 * broj_slova

 

 // trazimo prvu slobodnu poziciju, moguce je da ces dobiti broj slova koje već imaš - teoretski moguća beskonačna petlja

 dok popis_pozicija.ne_sadrzi (pozicija):

  pozicija = random_broj_izmedju_od_0_do_1 * broj_slova

 

 popis_pozicija.dodaj(pozicija)

 

 novi_string[i] = stari_string[pozicija]

 
e da to je to.
naprije array popunit sa slucajnim brojevima (koji se nesmiju ponavljat, ili kod vb-a nesmije bit 0) i onda na kraju samo iskopirat znakove u novi string.
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice