logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Pascal] Jak uniknąć duplikatów przy losowaniu drużyn w Pascalu?

Unrak 15 Wrz 2011 23:45 2230 6
REKLAMA
  • #1 9931607
    Unrak
    Poziom 10  
    Posty: 9
    Witam.

    Mam taki problem iż chcę napisać program losujący drużyny.
    np.
    Podaję ilość drużyn, np. 4 oraz ilość graczy, np. 17.
    Do tablicy wpisuję wszystkich graczy i za pomocą funkcji randomize przypisuje każdemu z graczy jedną liczbę. I tu właśnie mam problem i stąd moje pytanie. Jak zabezpieczyć program przed wylosowaniem drugiej takiej samej liczby?
    Pierwsza liczba 4 - przypisuje nick1
    Druga liczba 8 - przypisuje nick2
    itd.
    Powtarza się liczba 8 to losuje dalej.
    Itd. aż skończą się wszystkie liczby.
    Mam nadzieje że zrozumiałe.

    Z góry dziękuje za pomoc i pozdrawiam.
    Morf ^^
  • REKLAMA
  • #2 9931648
    KubeqZ
    Poziom 16  
    Posty: 274
    Pomógł: 3
    Ocena: 25
    Jeśli dobrze zrozumiałem, musisz za każdym (poza pierwszym) losowaniem liczby sprawdzać czy nie znajduje się już w tablicy, i w zależności od wyniku tego sprawdzenia powtarzać losowanie lub nie.
  • REKLAMA
  • #3 9931809
    Unrak
    Poziom 10  
    Posty: 9
    Ale jak to sprawdzić? :(
    Wylosowane liczba jest to nr komórki tablicy.

    Mam sobie taką tablice:
    [1][2][3][4][5]
    1: nr1
    2: nr2
    3: nr3
    4: nr4
    5: nr5

    Losuję teraz liczby i przypisuje
    tą pierwsza tablice przypisuje do wylosowanych liczb
    [1] - zmieniam na [los1]
    [2] - na [los2]

    Tylko jak sprawdzić czy już taka liczba się wylosowała ? :(
  • REKLAMA
  • #5 9935845
    ed-ek
    Poziom 34  
    Posty: 1814
    Pomógł: 275
    Ocena: 43
    Ponieważ w podanych linkach są moje posty, podam trochę zmienione rozwiązanie.
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #6 9936548
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 300
    ed-ek napisał:
    Ponieważ w podanych linkach są moje posty, podam trochę zmienione rozwiązanie.
    Kod: text
    Zaloguj się, aby zobaczyć kod


    No to jeszcze kolega nam wytłumaczy, jak to jest związane z językiem Pascal, i wszystko będzie OK.
  • #7 9937992
    ed-ek
    Poziom 34  
    Posty: 1814
    Pomógł: 275
    Ocena: 43
    Nawiedziła mnie pomroczność jasna. Szybko przetłumaczyłem na Pascala.
    Kod: text
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono problem losowania drużyn w języku Pascal, gdzie użytkownik chciał uniknąć duplikatów wylosowanych liczb przypisujących graczy do drużyn. Uczestnicy sugerowali, aby po każdym losowaniu sprawdzać, czy wylosowana liczba już istnieje w tablicy, a w przypadku duplikatu kontynuować losowanie. Przykładowe rozwiązania obejmowały użycie tablicy do przechowywania wylosowanych liczb oraz implementację algorytmu losowania z wykorzystaniem funkcji `random`. Użytkownik przedstawił również kod w Pascalu, który ilustrował proces losowania i przypisywania graczy do drużyn.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA