![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 7 Dołączył: 22.04.2010 Skąd: Ziemia Ostrzeżenie: (20%) ![]() ![]() |
Witam mam problem gdyż nie wiem jak mam to zrobić napisałem funkcje
która wyświetla wszystkie z możliwych kombinacji 4 spotkań na jednym kuponie i printuje mi to wszystko na ekranie lecz chciałbym żeby to wyglądało trochę inaczej. ![]() Wszystko ładnie pięknie lecz chciałbym żeby ilośc spotkań na 1 kuponie było można zmienić ( nie chodzi mi tutaj o dodanie kolejnej pętli for ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o funkcjach rekurencyjnych. Jak zrozumiesz temat, to Twoj kod duzo sie uprosci i bedzie duzo bardziej elastyczny (osiagniesz swoj cel).
|
|
|
![]()
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 ![]() |
Określ jakiś wzorzec nazwy, dorzuć dodatkowy licznik i go w najgłebszym miejscu inkrementuj. Dorzuć tam też IF, który sprawdza modulo. Jeśli osiągnie ono określoną wartość możesz inkrementować dodatkową zmienną i z niej składaj sobie ów wzorzec nazwy. Przykład to zmodyfikowany Twój będzie:
To co możesz chcieć zmienić to format wyświetlania numerów kuponów na przykładowo kupon_00001 czy podobne detale estetyczne. A to na co powinieneś uważać to $licznik. Przy dużych ilościach elementów możesz przekroczyć zakres inta. W takim wypadku lepiej inkrementować $licznik, ale gdy dojdzie on do liczby kombinacji na kuponie zgodnej z modulo - wyzerować. Inna sprawa, że to co zrobiłeś nie jest ok. Modyfikowanie liczby elementów w tablicy $liczby skutkuje modyfikacjami w ilości pętli FOR, co do najlepszych rozwiązań nie należy. Powinieneś zamienić to na funkcję sensowniejszą. Najwygodniej chyba jeśli byłaby rekurencyjna. Ale to już zostawiam Ci na zadanie domowe do przemyślenia ![]() -------------------- 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: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Dodam jeszcze od siebie, że sprawdzanie ilości elementów tablicy w pętli nie jest zbyt optymalne, gdyż za każdym razem cyklem pętli jest to sprawdzane. Lepiej to nad pętlą do zmiennej wpakować i do pętli wstawić zmienna.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 7 Dołączył: 22.04.2010 Skąd: Ziemia Ostrzeżenie: (20%) ![]() ![]() |
Badzo dziękuje za zainteresowanie lecz dałem gafe i trochę wprowadziłem was w błąd nie jestem tak dobry jak wy dlatego mam znowu problem zrobiłem tak jak mlody zapodał fajnie bo pokazuje kombinacje lecz nie tak jak chcialem gdyż nie chce żeby to wszystko było w tablicy to psuje efekt.
a to efekt : ![]() Powinno mniej wiecej wygladac tak ![]() to mniej więcej powinno tak wyglądać gdyż mamy 4 zapętlenia w skrypcie to 4 spotkania na kupon i tych kuponów aż 81 tyle co kombinacji Teraz już rozumiecie mój przekaz może wcześniej jakoś źle to opisałem. Zerknie ktoś? ? ? ? Ten post edytował nikestylex7 27.12.2012, 17:39:35 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
to jak sobie wyświetlisz wyniki to tylko i wyłącznie Twoja wyobraźnia i chęć, tablica raz, że nie ma nic do tego a dwa to nie przeszkadza, a wręcz przeciwnie - ułatwia kontrolę nad takimi danymi
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 7 Dołączył: 22.04.2010 Skąd: Ziemia Ostrzeżenie: (20%) ![]() ![]() |
Tylko że nie wiem jak mam się za to wziąć nie chce gotowca lecz jakiegoś światełka w tunelu jak zmienić tablice w normalnie wyświtlane wyniki oraz jak je podzieli żeby nie były w kupie 1x12 tylko oddzielnie nazwa : 1 nazwa: x nazwa:1 nazwa 2
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
a mi się wydaje, że Ty zupełnie nie pojmujesz tablic i nie wiesz jak z nich korzystać. jeżeli to prawda to polecam lekturę manuala
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
że kto?
![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
że autor
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
każdemu się zdarza, ja np. borykam się z odkodowaniem strumienia gzip ze stringa i nic nie pomaga poza zapisem do pliku i rozpakowaniem hehe, a pewnie też jakiś głupi błąd
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 7 Dołączył: 22.04.2010 Skąd: Ziemia Ostrzeżenie: (20%) ![]() ![]() |
Przerobiłem trochę skrypt tylko nie wiem jak zrobić z niego konkretnie to o co mi chodzi. Spotkań maksymalnie może być 10. Gdy osoba w formularzu chce 9 spotkań zamiast 10 to żeby nie wliczało tego 10 czyli dodatkowych kombinacji do kuponów. Nie wiem jak to zrobić jedyne rozwiązanie które mógłbym zastosować to sprawdzanie czy w formularzu osoba wypełniła nazwę spotkania jeśli nie to nie wlicza tego do kombinacji lecz nie wiem czy to jest optymalne.
Zastanawiam się czy dało by radę stworzyć funkcję rekurencyjna do jednego zdarzenia i umieścić ją w pętli zdarzeń że osoba chce np 4 to pętla przerobi funkcję tyle razy |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:28 |