Supportnet / Forum / Tabellenkalkulation
Wer knobelt gerne :)))
Frage
@ nighty,
habe gerade deinen alten Thread wiederentdeckt,
hier mein Vorschlag mit entsprechendeer If-Abfrage,
funktioniert ganz gut, einzigstes Problem, ich hab nicht ausgeschlossen, daß die letzten beiden Zahlen hintereinander sind, aber das hast du ja auch nicht gemacht, das der Übergang von ungerade zu gerade zufällig hintereinander ist:
[code]Sub makro01()
Randomize Timer
ReDim zuzahl(100) As String
ReDim ziehungszahl(100) As String
Dim zahl(100) As Variant
Dim endeindex As Integer
Dim allezahlen As Integer
Dim ziehung As Integer
Dim gezogen As Integer
Dim naechste As Integer
Dim nz As Integer
Dim i As Integer
endeindex = 100
For allezahlen = 1 To 100
zuzahl(allezahlen) = allezahlen
Next allezahlen
naechste = 0
For ziehung = 1 To 100
If naechste > 0 Then
For i = 1 To endeindex
If zuzahl(i) = naechste Then
zuzahl(i) = zuzahl(endeindex)
endeindex = endeindex - 1
Else: End If
Next i
Else: End If
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
nz = zuzahl(gezogen) + 1
If naechste > 0 Then endeindex = endeindex + 1: zuzahl(endeindex) = naechste
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
For i = 1 To endeindex
If zuzahl(i) = nz Then
naechste = nz
Exit For
Else
naechste = 0
End If
Next i
Cells(ziehung + 1, 1) = zahl(ziehung)
Next ziehung
End Sub[/code]
Auch, wenns eigentlich schon verjährt ist...
Gruß Primut
Antwort 1 von nighty
hi primut :))
fein funktioniert super :))
nette leistung :))
gruss nighty
fein funktioniert super :))
nette leistung :))
gruss nighty
Antwort 2 von CaroS
Hallo Ihr beiden,
die Überschrift ist falsch! Sie müsste lauten: Wer ist neugierig?
Habe das gleich mal überprüft, ob Ihr auch nicht geschummelt habt:
D1: =SUMME(A1:A100)
C. F. Gauss sagt: D2: =(MAX(A:A) + MIN(A:A)) * ANZAHL(A:A) / 2
Und um ganz sicher zu gehen:
B1..B100: =KKLEINSTE(A$1:A$100;ZEILE())
D3: =SUMME(B1:B100)
C1..C100: =ZÄHLENWENN(A$1:A$100;B1)
D4: =SUMME(C1:C100)
Alles in Ordnung! (Ach ja, zuallererst hatte ich die erste Zeile gelöscht, da war nichts.)
Ein schönes Wochenende!
CaroS
die Überschrift ist falsch! Sie müsste lauten: Wer ist neugierig?
Habe das gleich mal überprüft, ob Ihr auch nicht geschummelt habt:
D1: =SUMME(A1:A100)
C. F. Gauss sagt: D2: =(MAX(A:A) + MIN(A:A)) * ANZAHL(A:A) / 2
Und um ganz sicher zu gehen:
B1..B100: =KKLEINSTE(A$1:A$100;ZEILE())
D3: =SUMME(B1:B100)
C1..C100: =ZÄHLENWENN(A$1:A$100;B1)
D4: =SUMME(C1:C100)
Alles in Ordnung! (Ach ja, zuallererst hatte ich die erste Zeile gelöscht, da war nichts.)
Ein schönes Wochenende!
CaroS
Antwort 3 von Primut
@CaroS,
wegen der Überschrift hast du zwar prinzipiell Recht, ich hab sie aber als Zitat verwendet, weil ich nighty´s alten Thread mit gleicher Überschrift nicht mehr öffnen konnte. ;-)
Ansonsten: Vertrauen ist gut, Kontrolle ist besser? ;-)))
Ok, das habe ich selbstverständlich natürlich auch geprüft.
Und meinen Fehler hast du ja auch nicht entdecken können! Das wäre, wenn du schon Lust hast, doch mal eine schöne Knobelaufgabe Bereich Kombinatorik. Mit welcher Wahrscheinlichkeit tritt kein Fehler auf? Kannst du schnell sehen, wenn du nur mit bspw. 10 statt 100 öfters probierst.
Aufgabenstellung war ja eine vollständige Zufallsverteilung ohne Wiederholungen unter der Voraussetzung, daß nachfolgende Zufalls-Zahlen nicht gleichzeitig auch betragsmäßige Nachfolger sind.
So Long
Primut
wegen der Überschrift hast du zwar prinzipiell Recht, ich hab sie aber als Zitat verwendet, weil ich nighty´s alten Thread mit gleicher Überschrift nicht mehr öffnen konnte. ;-)
Ansonsten: Vertrauen ist gut, Kontrolle ist besser? ;-)))
Ok, das habe ich selbstverständlich natürlich auch geprüft.
Und meinen Fehler hast du ja auch nicht entdecken können! Das wäre, wenn du schon Lust hast, doch mal eine schöne Knobelaufgabe Bereich Kombinatorik. Mit welcher Wahrscheinlichkeit tritt kein Fehler auf? Kannst du schnell sehen, wenn du nur mit bspw. 10 statt 100 öfters probierst.
Aufgabenstellung war ja eine vollständige Zufallsverteilung ohne Wiederholungen unter der Voraussetzung, daß nachfolgende Zufalls-Zahlen nicht gleichzeitig auch betragsmäßige Nachfolger sind.
So Long
Primut

