Příspěvky odeslané z IP adresy 95.82.135.–
#5 jerry
Tady je jiné řešení, ale bez toho automatického určení kolik čísel se bude generovat, je zde natvrdo nastaveno 10, Potřeboval bych to upravit tak, aby to číslo 10 nahrazovalo číslo, které získám rozdílem Cells(2, 8).Value a Cells(2, 7).Value. Prostě počet generovaných čísel bude tolik, kolik je rozdíl Cells(2, 8).Value a Cells(2, 7).Value
Dim i As Byte, NahodneCislo As Long, HodnotaLow As Long, HodnotaHigh As Long, Kontrola As String, k As String
Const PocetNahodnychCisel = 10
Randomize
ReDim Vysledok(1 To 1, 1 To PocetNahodnychCisel)
With Worksheets("List1")
HodnotaLow = .Cells(2, 7).Value
HodnotaHigh = .Cells(2, 8).Value
For i = 1 To PocetNahodnychCisel
Do
NahodneCislo = Int(HodnotaLow + (HodnotaHigh + 1 - HodnotaLow) * Rnd())
k = "•" & NahodneCislo & "•"
Loop Until InStr(1, Kontrola, k) = 0
Vysledok(1, i) = NahodneCislo
Kontrola = Kontrola & k
Next i
.Cells(5, 1).Resize(, PocetNahodnychCisel) = Vysledok
End With
#5 jerry
Je v to Excelu VBA, nemám to jako úkol :-), Potřebuju to na rozlosovaní účastníků soutěže a zadání by znělo takhle: vygeneruj náhodné pořadí čísel v intervalu 10 až 52 (pokaždé jiné argumenty - zapisuji do Cells) aby se čísla neopakovala. Počet generovaných čísel bude: 52-10 tedy 42 Čisla vypiš do sloupce. Počet generovaných čísel se právě mění dle zadání argumentů.
#1 Pavel
Oprava,text není celý, tak znovu:
lze upravit kód tak, aby čísla označená tučně se do kódu načítala z určité buňky? Teď je generátor nastavený "natvrdo" na generování 16ti čísel, potřebuju před začátkem generování zadat kolik čísel se bude generovat, tato hodnota je pokaždé jiná. Hodnotu (počet gerovaných čísel) měním v buňce (třeba A1)
A druhá úprava: potřeboval bych nastavit aby se náhodná čísla generovala v rozsahu 9 až zvolený počet, prostě aby generátor nepracoval s čísli 1,2,3,4,5,6,7 a 8.
Děkuji tomu, kdo by mě s tímto pomohl :-)
Dobrý den,
lze upravit kód tak, aby čísla označená tučně se do kódu načítala z určité buňky? Teď je generátor nastavený "natvrdo" na generování 16ti čísel, potřebuju před začátkem generování zadat kolik čísel se bude generovat, tato hodnota je pokaždé jiná.
Dim cislo(16) As Byte
Dim n, k As Byte
Dim zhoda As Boolean
For i = 2 To 5
For j = 1 To 4
'počítadlo vygenerovaných čísel
n = n + 1
Do
'inicializátor náhodných čísel
Randomize
'generuj a vlož do bunky
cislo(n) = Int((16 - 1 + 1) * Rnd + 1)
Cells(i, j) = cislo(n)
zhoda = False
'porovnaj s doteraz generovanými číslami
For k = 1 To n - 1
If cislo(k) = cislo(n) Then
zhoda = True
Exit For
End If
Next k
'ak sa niektoré zhodujú generuj znova
Loop While zhoda
Next j
Next i
Na nekterem z techto radku
int x = Convert.ToInt32(current.Substring(x_index + 1, y_index - x_index - 1));
int y = Convert.ToInt32(current.Substring(y_index + 1, z_index - y_index - 1));
int z = Convert.ToInt32(current.Substring(z_index + 1));
nema parametr metody Convert.ToInt32 tvar cisla.
Jde o nalezeni opakujicich se vzoru v datech. Google: find repeated pattern