![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam problem z pomysłem jak rozwiązać problem dotyczący nie powtarzania się liczb przy losowaniu 100 kombinacji po 5,6liczb każda poniżej obrazek dla zoobrazowania problemu ![]() czy da radę to zrobić bez bazy danych ? z góry dziękuje za wszelkie pomysły |
|
|
![]() ![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 824 Pomógł: 106 Dołączył: 14.03.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie musiałbys wymyslec wlasna funkcje pseudolosujaca (algorytm matematyczny)
Jak nie baza to plik musisz gdzies zapisywac co jest i porownywac jezeli istnieje to losowac kolejna -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wstawiasz sobie dane elementy do tablicy (nie tabeli bazodanowej, tylko statycznej tablicy). Lsujesz sobie z tej tablicy dany element. Po wylosowaniu usuwasz go z tej tablicy. Losujesz kolejny itd...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wstawiasz sobie dane elementy do tablicy (nie tabeli bazodanowej, tylko statycznej tablicy). Lsujesz sobie z tej tablicy dany element. Po wylosowaniu usuwasz go z tej tablicy. Losujesz kolejny itd... hmm to rozwiązanie chyba mi nie za bardzo pomoże bo np wylosowało mi zestaw liczb w którym jest 10 1, 5, 10, 22, 44 i jakbym 10 wywalił z tablicy to już ona nigdzie więcej nie wystąpi a może wystapić np w kolejnej kombinacji 3, 10, 11, 15, 48 lecz liczba 10 nie może wystąpić w kolejnej kombinacji w parze z jakąś liczbą z którą już w danej kombinacji była wylosowana (obrazek z 1 postu obrazuje to najlepiej bo nie bardzo wiem jak to porządnie opisać) ogólnie to własnie chciałem to jakoś rozwiązać za pomocą tablicy a nie tabeli w bazie ale nie bardzo wiem jak Ten post edytował sirkus 27.08.2013, 15:08:08 |
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 824 Pomógł: 106 Dołączył: 14.03.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Chodzi Ci o to że liczby wylosowane w 1 kombinacji nie powinny wystepowac razem w innej, pod warunkiem że wystąpią samodzielnie - czyli z innymi liczbami z którymi jeszcze nie były wspolnie "wylosowane" ?
Czesto poprawne sformulowanie problemu jest już prawie rozwiązaniem ![]() -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi Ci o to że liczby wylosowane w 1 kombinacji nie powinny wystepowac razem w innej, pod warunkiem że wystąpią samodzielnie - czyli z innymi liczbami z którymi jeszcze nie były wspolnie "wylosowane" ? Czesto poprawne sformulowanie problemu jest już prawie rozwiązaniem ![]() hmm coś takiego, z tym że powiem szczerze że czytałem to co napisałem 5 razy i do końca pewien nie jestem ![]() a więc napiszę jeszcze tak losuję 25 kombinacji 5 lub 6 liczb z zakresu np od 1-50 i chodzi tylko o to aby wśród tych 25 wylosowanych kombinacji nigdzie nie znalazły się 2 takie same pary liczb |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz tablicę dwuwymiarową, zawierającą wyniki losowania 6 cyfr. potem losujesz kolejny zestaw i sprawdzasz za pomocą array_map i array_diff czy nie mamy już czasem takiego zestawu.
Jak na razie jedyne co mi tak na szybkiego wpadło do głowy. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 824 Pomógł: 106 Dołączył: 14.03.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kolega wyczerpał mysle temat moze jeszcze bedzie potrzebne
count Jak bedziesz mial problem rzuc skrwkiem kodu, powodzenia. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej, uporządkowałem kod, trochę inaczej go przepisałem i już nie jest źle ale jeszcze do sukcesu trochę brakuje
obecnie losuje mi liczby nie powtarzając żadnej wogóle dopóki nie wykorzysta wszystkich dostępnych liczb czyli max 10 kombinacji po 5 liczb a potrzebuje więcej kombinacji a nie powtarzać mają się tylko paru liczb, może ktoś zerknie co jest zwalone bo szukam błędu 2 dzień i nic
Ten post edytował sirkus 4.09.2013, 11:35:55 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
pozdrawiam |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzięki niestety tą funkcją nie bardzo mi pomogłeś ponieważ mój problem tkwi gdzie indziej
nie mogę losować poprostu przypadkowych liczb bo w formularzy wpisuje litery AAABB lub ABCDE i każda literka odpowiada zakresowy kolejnych liczb A-1..10 B-11...20 C-21-30 itd i najważniejszą rzeczą jest aby przy np 100losowaniach po 5 liczb nie powtarzały się te same pary liczb tzn jak w losowaniu np. 11 padło 10,15,25,33,48 to w losowaniu 54 nie może wystąpić np. 10,15 lub 25 z 48 ale spokojnie może wystąpić np 10 z 17 lub 25 z 49 i właśnie z tym się pierdziele już tydzień Ten post edytował sirkus 4.09.2013, 13:14:54 |
|
|
![]() ![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 824 Pomógł: 106 Dołączył: 14.03.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Potrzebujesz funkcji ktora z wyniku pojedynczego losowania (5 liczb) zrobi ci tablice (lub plik) wszystkich kombinacji par dwuliczbowych, bez matematyki się nie obejdzie a ten dział zupełnie mi nie leżał.
Po kazdym losowaniu tworzysz taka tablice. Przed kazdym losowaniem sprawdzasz wszystkie stworzone tablice. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 15:24 |