![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 6.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Próbuje już od dwóch dni wylosować wszystkie liczby ze zbioru <-5,5> i wypisać wszystkie możliwości tego w formacie ( a,b ) wiem że takich kombinacji jest 121. a i b to liczby z tego zbioru, a i b może być ujemne i dodatnie. Ten zbiór zawiera takie liczby -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 Chodzi o to aby wyświetlało mi takie coś (-4,2) (1,4) (1,-5) Mi na razie udało się stworzyć takie coś:
co wyświetla mi te liczby ale zdarzają się powtórzenia |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A po co losować skoro możesz wybrać z tablicy i po kolei wstawiać?
Ten post edytował wookieb 27.02.2010, 18:04:48 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
By zrobić to bez powtórzeń, musiałbyś mieć tablicę wykluczającą wylosowane już pary liczb. Jesli znasz liczbę wszystkich kombinacji to sprawa nie jest trudna. Przedstawię algorytm i podpowiem funkcje...
1. Utwórz pustą tablicę dla wylosowanych ( array() ) 2. Wylosuj parę ( rand() ) 3. Sprawdź czy jest ona w tablicy wylosowanych ( in_array() ) 4. Jeśli jest - idź do kroku 2) 5. Jeśli nie - dodaj ją do tablicy wylosowanych. 6. Sprawdź czy wielkość tablicy wylosowanych nie jest już wielkością maksymalną. 7. Jeśli tak - koniec 8. Jeśli nie - idź do kroku 2) To proste jesli zrobisz parę wylosowana jako jeden string w postaci choćby '(a, ![]() EDIT: wookieb dał najprostsze rozwiązanie, jeśli oczywiście ma to być po prostu wypisanie wszystkich kombinacji. Jesli ma to być już z jakimś elementem losowości to pokombinuj z moim agorytmem, bo jego implementacja jest niemal równie krótka jak algorytm kolegi powyżej ![]() Ten post edytował thek 27.02.2010, 18:09:52 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Niestety kolega nie pomyślał, bo jak można "wylosować" wszystkie kombinacje liczb ze zbioru?
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Można wylosować kolejność ich prezentacji
![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 6.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca mi chodziło o to co stworzył wookieb ale pomogło mi to bardzo w rozwiązaniu problemu, zmodyfikowałem jego kod i udało mi się stworzyć to co mnie interesowało a więc dziex wszystkim, odwdzięczyłem się jak trzeba dla wookieb'a i thek'a który też pomógł
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:47 |