Zufallszahlen für Bingo
Moderator: Moderatoren
Zufallszahlen für Bingo
Hej!
Ich versuche ein 5x5 großes Bingofeld mit Zahlen von 1-50 zu erstellen und bin schon ganz begeistert über die Zufallszahl-Funktion. Allerdings doppeln sich immer wieder Zahlen. Ich habe schon hier im Forum gestöbert und auch schon ausprobiert, was andere empfohlen haben. Aber irgendwie klappt es nicht wirklich, wie es soll.
Danke für eure Hilfe!!!
Chaosina
Ich versuche ein 5x5 großes Bingofeld mit Zahlen von 1-50 zu erstellen und bin schon ganz begeistert über die Zufallszahl-Funktion. Allerdings doppeln sich immer wieder Zahlen. Ich habe schon hier im Forum gestöbert und auch schon ausprobiert, was andere empfohlen haben. Aber irgendwie klappt es nicht wirklich, wie es soll.
Danke für eure Hilfe!!!
Chaosina
Re: Zufallszahlen für Bingo
Schwer zu sagen warum das so ist, ohne zu wisen um welche Beiträge es überhaupt geht.Aber irgendwie klappt es nicht wirklich, wie es soll.
Gruß
Stephan
Re: Zufallszahlen für Bingo
Ich dacht ja, wir suchen einfach neu nach einer Lösung, da die anderen ja nicht funktioniert haben oder ich vielleicht einfach was falsch gemacht hab.
http://www.oooforum.de/viewtopic.php?f= ... 4f#p144123
Das hier hab ich ausprobiert, aber wenn ich es auf mehrere Spalten (5x5) ausdehne, klappt es nicht, dh es sind Zahlen doppelt
http://www.oooforum.de/viewtopic.php?f= ... 4f#p144123
Das hier hab ich ausprobiert, aber wenn ich es auf mehrere Spalten (5x5) ausdehne, klappt es nicht, dh es sind Zahlen doppelt
Re: Zufallszahlen für Bingo
Auch Hallo,
mein Beispiel von dort funktioniert. Es schreibt m unterschiedliche Zufallszahlen zwischen 1 und n in die Spalte D (=3) ab Zeile 1.
cu, Bernd
--
mein Beispiel von dort funktioniert. Es schreibt m unterschiedliche Zufallszahlen zwischen 1 und n in die Spalte D (=3) ab Zeile 1.
cu, Bernd
--
Code: Alles auswählen
Sub x()
const n = 50
const m = 6
dim i as integer, j as integer
dim ar(1 to n) as integer
dim intZufall as integer
dim ActiveSheet as object
ActiveSheet = ThisComponent.getCurrentController.getActiveSheet
for i = 1 to n
ar(i) = i
next
i = n
for j = 0 to m-1
intZufall = int(i * rnd() + 1)
ActiveSheet.getCellByPosition(3, j).Value = ar(intZufall)
ar(intZufall) = ar(i)
i = i - 1
next
End Sub
Re: Zufallszahlen für Bingo
Und wie schaffe ich es, dass er mir unterschiedliche Zahlen in die Felder von A1 bis E5 schreibt? 
Ich weiß, ich könnt einfach die ersten zwei Zeilen von dir kopieren, aber ich brauch ja nicht nur 1 Bingo-Feld sondern 20 und dann wird das ganze unübersichtlich. Ich hab auf eine Funktion gehofft, die man am besten gar net sieht in der Tabelle

Ich weiß, ich könnt einfach die ersten zwei Zeilen von dir kopieren, aber ich brauch ja nicht nur 1 Bingo-Feld sondern 20 und dann wird das ganze unübersichtlich. Ich hab auf eine Funktion gehofft, die man am besten gar net sieht in der Tabelle
Re: Zufallszahlen für Bingo
Hi,
versuche das mal so. Selektiere 5*5 Zellen und schreibe dort die Matrixformel =BINGO() rein.
HTH, Bernd
--
versuche das mal so. Selektiere 5*5 Zellen und schreibe dort die Matrixformel =BINGO() rein.
HTH, Bernd
--
Code: Alles auswählen
Function Bingo() as Variant
const n = 50
const m = 5
dim i as integer, j as integer, x as integer, y as integer
dim ar(1 to n) as integer
dim intZufall as integer
dim arOut(0 to m-1, 0 to m-1)
for i = 1 to n
ar(i) = i
next
x = 0
y = 0
i = n
for j = 0 to m*m-1
intZufall = int(i * rnd() + 1)
arOut(x, y) = ar(intZufall)
x = x + 1
if x >= m then
x = 0
y = y + 1
endif
ar(intZufall) = ar(i)
i = i - 1
next
Bingo = arOut
End Function
Re: Zufallszahlen für Bingo
Die zweite Schleife wird aufgeteilt in zwei Schleifen: j von Startwert1 bis (Startwert1 + 4) und k von Startwert2 bis (Startwert2 + 4). getCellByPosition bekommt die Argumente j und k (statt 3 und j). Startwerte erwähne ich, weil du 20 Bereiche vorsehen willst; die Startwerte werden entweder aus der ersten Zelle, in der das Makro gestartet wird, übernommen oder per Dialog abgefragt. JürgenChaosina hat geschrieben:Und wie schaffe ich es, dass er mir unterschiedliche Zahlen in die Felder von A1 bis E5 schreibt?
Oops, Bernd war schneller. Meine Antwort bezog sich auf seinen vorigen Code (nicht auf den letzten).
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Zufallszahlen für Bingo
Hallo
per Pythonscript:
per Pythonscript:
Code: Alles auswählen
from random import sample
context = XSCRIPTCONTEXT
def bingo(dummy=None):
doc = context.getDocument()
sheet = doc.Sheets.getByIndex(0) #erstes Blatt
rrange= sheet.getCellRangeByPosition( 0, 0, 4, 4 )
numbers = tuple( sample( range( 1, 51 ), 25 ) )
rrange.setDataArray( ( numbers[:5],
numbers[5:10],
numbers[10:15],
numbers[15:20],
numbers[20:]))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Zufallszahlen für Bingo
Hej!
Vielleicht hät ich dazu sagen sollen, dass ich mich eigentlich nicht wirklich auskenn
Auf jeden Fall bin ich heillos überfordert mit euren Antworten, aber trotzdem Danke!
Chaosina
Vielleicht hät ich dazu sagen sollen, dass ich mich eigentlich nicht wirklich auskenn

Chaosina
Re: Zufallszahlen für Bingo
Hi Chaosina,
Du musst das als Matrixformel eingeben. Also zuerst einen Bereich aus 5 Zeilen und 5 Spalten selektieren, dann die Formel =BINGO() eintippen und dann nicht nur mit RETURN sondern mit STRG+SHIFT+RETURN bestätigen. Oder im letzten Schritt den Funktionsassistenten f(x) starten, unten links Matrix anwählen und dann OK klicken.
Der Code gehört in ein normales Modul in der Mappe.
Siehe Anhang.
HTH, Bernd
Du musst das als Matrixformel eingeben. Also zuerst einen Bereich aus 5 Zeilen und 5 Spalten selektieren, dann die Formel =BINGO() eintippen und dann nicht nur mit RETURN sondern mit STRG+SHIFT+RETURN bestätigen. Oder im letzten Schritt den Funktionsassistenten f(x) starten, unten links Matrix anwählen und dann OK klicken.
Der Code gehört in ein normales Modul in der Mappe.
Siehe Anhang.
HTH, Bernd
- Dateianhänge
-
- Bingo.ods
- (13.19 KiB) 308-mal heruntergeladen
Re: Zufallszahlen für Bingo
Hej!
Danke für den Versuch, aber das Makro kommt nicht mit, oder falls ich was machen muss, dann weiß ich nicht genau was
Danke für den Versuch, aber das Makro kommt nicht mit, oder falls ich was machen muss, dann weiß ich nicht genau was

Re: Zufallszahlen für Bingo
Hi,
nimm in Calc Extras->Optionen->Sicherheit->Makro Sicherheit->Mittel. Dann öffne die Datei und beantworte die Frage mit "Makros aktivieren".
cu, Bernd
nimm in Calc Extras->Optionen->Sicherheit->Makro Sicherheit->Mittel. Dann öffne die Datei und beantworte die Frage mit "Makros aktivieren".
cu, Bernd
Re: Zufallszahlen für Bingo
Hallo zusammen,
wenn gewünscht, das geht auch ohne Makro
Ich hänge mal ein Beispiel an
lg Holger
wenn gewünscht, das geht auch ohne Makro
Ich hänge mal ein Beispiel an
lg Holger
- Dateianhänge
-
- Unbenannt 1.ods
- (12.53 KiB) 343-mal heruntergeladen
Re: Zufallszahlen für Bingo
Hallo Holger
Getestet unter WinXP. Mit OOo 3.2.1 und LO 3.5.5.3
Kann vielleicht sein das in Excel es zu keine doppler kommt, aber hier geht es ja um Calc und nicht um Excel. Das aber nur so nebenbei bemerkt.
Gruß
balu
Es wäre wirklich schön wenn es ohne Makro funktionieren würde. Aber es funktioniert eben nicht ohne, wie ich ja selber schon mal leider feststellen musste. Auch deine Beispieldatei produziert früher oder später doppelte Zahlen. Wenn nicht bei der 2ten Ziehung, dann vielleicht bei der 5ten oder 20ten. Auf jeden Fall kommen die doppelten Zahlen.wenn gewünscht, das geht auch ohne Makro
Getestet unter WinXP. Mit OOo 3.2.1 und LO 3.5.5.3
Kann vielleicht sein das in Excel es zu keine doppler kommt, aber hier geht es ja um Calc und nicht um Excel. Das aber nur so nebenbei bemerkt.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden
