Discussion:
kombinacje cyfr
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
monia
2005-05-05 09:42:10 UTC
Permalink
Potrzebuję programik, który wyświetlałby mi wszystkie możliwe kombinacje
czterech wybranych przeze mnie cyfr.
Czy ktoś z Was ma pomysł jak coś takiego napisać ? A może natknęliście się
gdzieś w sieci na taki programik ?
Z góry dziękuję za wszelkie wskazówki, M.
Piotr Lipski
2005-05-05 10:10:52 UTC
Permalink
Dnia 5 maja 2005 w wiadomości <d5cpqk$s9b$***@news.onet.pl> user monia spamuje tak:

zarys pomysłu (pewnie przeciwnicy rekurencji słusznie zauważą, że bez rekurencji będzie działać szybciej i zajmować mniej pamięci...)

Sub komb(poczatek As String, koniec As String)
If Len(koniec) = 0 Then
Debug.Print (poczatek)
Else
For i = 1 To Len(koniec)
komb poczatek & Mid(koniec, i, 1), Replace(koniec, Mid(koniec, i, 1), "")
Next i
End If
End Sub

i wołasz to tak:

komb("", "1358")

nie debagowane, mogą być błędy
--
PL
monia
2005-05-05 13:47:25 UTC
Permalink
zarys pomysłu (pewnie przeciwnicy rekurencji słusznie zauważš, że bez
rekurencji będzie działać szybciej i zajmować
mniej pamięci...)
Sub komb(poczatek As String, koniec As String)
If Len(koniec) = 0 Then
Debug.Print (poczatek)
Else
For i = 1 To Len(koniec)
komb poczatek & Mid(koniec, i, 1), Replace(koniec, Mid(koniec, i, 1), "")
Next i
End If
End Sub
komb("", "1358")
hmm.. a jak wyœwietlić wyniki ?
Piotr Lipski
2005-05-05 14:07:57 UTC
Permalink
Dnia 5 maja 2005 w wiadomości <d5d844$mlv$***@news.onet.pl> user monia spamuje tak:

[...]
Post by Piotr Lipski
Debug.Print (poczatek)
[...]

m> hmm.. a jak wyświetlić wyniki ?

CYFERKAMI, najlepiej w grupach po cztery.

Sprecyzuj pytanie.
--
PL
janusz
2005-05-05 17:21:49 UTC
Permalink
Witam
Post by monia
Potrzebuję programik, który wyświetlałby mi wszystkie możliwe kombinacje
czterech wybranych przeze mnie cyfr.
Czy ktoś z Was ma pomysł jak coś takiego napisać ? A może natknęliście się
gdzieś w sieci na taki programik ?
Z góry dziękuję za wszelkie wskazówki, M.
Private Sub Command1_Click()
Kombinacje ("1358")
End Sub

Private Sub Kombinacje(strIn As String, Optional strFixed As String)
Dim i As Integer
If Len(strIn) <> 1 Then
For i = 1 To Len(strIn)
Kombinacje _
Left$(strIn, i - 1) & Mid$(strIn, i + 1), _
strFixed & Mid$(strIn, i, 1)
Next
Else
'dodajesz do listboxa
List1.AddItem strFixed & strIn
End If
End Sub


Janusz
Jarek Andrzejewski
2005-05-05 20:26:18 UTC
Permalink
Post by monia
Potrzebuję programik, który wyświetlałby mi wszystkie możliwe kombinacje
czterech wybranych przeze mnie cyfr.
To elementarne, Watsonie :-)

Dim cyfry() As String = {"1", "2", "3", "4"}
Dim i, j, k, l, licznik As Integer
licznik = 0
For i = 0 To 3
For j = 0 To 3
If j <> i Then
For k = 0 To 3
If k <> j And k <> i Then
For l = 0 To 3
If l <> k And l <> j And l <> i Then
Debug.WriteLine(cyfry(i) &
cyfry(j) & cyfry(k) & cyfry(l))
licznik += 1
End If
Next l
End If
Next k
End If
Next j
Next i
Debug.WriteLine(licznik.ToString())

licznik oczywiście wyświetli 24
Post by monia
gdzieś w sieci na taki programik ?
Z góry dziękuję za wszelkie wskazówki, M.
--
Jarek Andrzejewski
Loading...