• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzanie losowych liczb

0 głosów
88 wizyt
pytanie zadane 15 stycznia 2018 w Java przez bengaz Nowicjusz (120 p.)

Witam, mam pytanie. 
jak sprawdzić czy w tablicy tabp[] liczby się nie powtarzają, a jeśli się powtarzają to wylosować jeszcze raz? 

 r = new Random();
        for(int i = 0 ; i<6 ; i++)
              tabp[i] = r.nextInt(49)+1;

 

2 odpowiedzi

+1 głos
odpowiedź 15 stycznia 2018 przez Tomasz90 Nałogowiec (25,180 p.)
Chyba lepiej by Ci było utworzyć Set i losować dopóki liczba elementów w zbiorze nie osiągnie tyle co potrzebujesz. W ten sposób byś miał gwarancje, że nie będziesz miał duplikatów. Jakbyś potem potrzebował konwersji do tablicy to set ma metodę toArray().
0 głosów
odpowiedź 15 stycznia 2018 przez niezalogowany

Załóżmy, że r - liczba losowa, t[N] - tablica indeksowana 0..N-1 posiadająca losowe elementy, wtedy losowanie bez powtórzeń odbywa się następującym algorytmem:

  1. Dla i-tego indeksu tablicy:
    1. wylosuj liczbę r
    2. sprawdź, czy r != t[j] dla j, takiego że: j = 1..i-1
      1. jeżeli r == t[j], to przejdź do kroku 1.1
      2. jeżeli dla dowolnego j, r != t[j], to przejdź do kroku 1.3
    3. t[i] = j, przejdź do kolejnego i

Podobne pytania

0 głosów
1 odpowiedź 74 wizyt
pytanie zadane 15 listopada 2018 w Java przez allenkun Początkujący (400 p.)
0 głosów
2 odpowiedzi 103 wizyt
pytanie zadane 1 kwietnia w Java przez Paweł Szewczyk Użytkownik (830 p.)
0 głosów
3 odpowiedzi 302 wizyt
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

62,242 zapytań

108,354 odpowiedzi

226,165 komentarzy

34,617 pasjonatów

Przeglądających: 167
Pasjonatów: 29 Gości: 138

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...