![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 31.12.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, znów mam głupie pytanie...
Mam w funkcji takie coś:
A teraz pytanie Jak mogę to skrócić, albo jak napisać inną funkcję by była odpowiedzialna za pisanie tych warunków w (if). Bo nie mogę ich ustalić raz, bo są one zmienne(w zależności ile wyników wybierze ktoś tyle się będzie wyświetlać), czy jest możliwość by to zrobić jak tak czy ktoś może podpowiedzieć mi. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 17 Dołączył: 2.04.2008 Skąd: z Zabrza Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
albo:
~Wicepsik Twoja koncepcja operuje na wszystkich liczbach podzielnych bez reszty przez 4, a autorowi tematu chodziło raczej o przykładowy i jakoś tam później ustalany przedział (4-96 co 4) // edit \/ @down aa, chyba, że tak (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował darko 14.01.2010, 00:44:07 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 31.12.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Wicepsik za Pomoc, dokładnie o to mi chodziło, a że działa na całym przedziale liczbowym to mi nie przeszkadza, jeszcze lepiej dla mnie.
Bo nie będę musiał pisać kolejnych linijek kodu do tego przy funkcji z wyborem ilości wyświetlanych filmów. A teraz mam bardziej zawiłą funkcję if (IMG:style_emoticons/default/smile.gif) I teraz znów to samo pytanie jakim sposobem mogę to zmniejszyć.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To popatrz jak się zmieniają liczby na litość boską (IMG:style_emoticons/default/winksmiley.jpg)
mov/1/X od 0 do 4999 mov/2/x od 5000 do 9999 Tak wyłapujesz katalog nadrzędny. Podrzędne masz analogicznie, tyle że na zakresach 10 razy mniejszych... no i mają start nie od 1 ale od 0 mov/1/0 od 0 do 499 mov/1/1 od 500 do 999 Tak więc robisz dzielenie liczb przez 5000 zaokrąglasz w dół i dodajesz 1. A potem resztę z tego działania dzielisz przez 500 i zaokrąglasz tylko w dół. Przykład? Liczba 7645: 7645/5000 = 1,529 = 1+1 = 2 2645/500 = 5,29 = 5 Sprawdzamy Twoje IFy ma wyjść mov/2/5/ A co mi wyszło? 2 oraz 5. Sprawdźmy dla granicznych dla pewności... 4999/5000 = 0,9998 = 0+1 = 1 4999/500 = 9,998 = 9 1/9 -> Prawidłowe! 5000/5000 = 1+1 = 2 0/500 = 0 2/0 -> Prawidłowe! Jak widzisz... Ten skrypt jest mocno do przodu bo już potrafi operować na 9/9, co u Cienie skończy się przy $nr1 = 49999, a Ty dopiero masz 6/3 skryptem przewidziane (IMG:style_emoticons/default/winksmiley.jpg) Poucz się więcej matmy a nie siedź tylko przed kompem (IMG:style_emoticons/default/biggrin.gif) EDIT: Popatrz zresztą na wyniki dzieleń... Są 10 razy mniejsze! To znów ułatwienie bo nie musisz wcale liczyć reszty z dzielenia przez 5000, mogąc to zastąpić odejmowaniem. Bierzesz liczbę i dzielisz ja przez 5000. Do całości dodajesz 1, a ułamek mnożysz razy 10 i zaokrąglasz w dół. Owe 7645 przerobię raz jeszcze: 7645/5000 = 1,529 = 1+1=2 0,529*10 = 5,29 = 5 Nie banalniejsze?
Co jest krótsze i wydajniejsze? (IMG:style_emoticons/default/winksmiley.jpg) 3 linijki czy 100 operacji if else (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował thek 17.01.2010, 00:09:49 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 31.12.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
thek
Dzięki za odpowiedz, a z matmą u mnie nie jest źle... Lecz po skończeniu szkoły 3 lata temu i wskoczeniu w wir pracy(w profesji elektryka), zapomina się powoli wszystkiego. Jeszcze raz dzia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 04:43 |