Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Przybliżanie wartości


Rekomendowane odpowiedzi

Opublikowano

Witam potrzebuję przykładowego kodu który sprawiałby że była by opcja przybliżania wartości do jakichś liczb (nie zaokrąglania) np mamy liczbę z zakresu 0-255 i mamy różne przybliżenia wartości np 128 192 255 0 i np. losuje się nam cyfra 153 i chcę żeby była ona przybliżona do 128 (droga: 25) lub 192 (droga: 39) w zależności do czego ma bliżej (droga) wychodzi na to że ma bliżej do 128 więc wartość jej zmienia się w 128.


@update


Lub potrzebowałbym funkcję konwertującą pliki zawierające kolory 24-bitowe na pliki zawierające kolory 16-bitowe

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano


Global $wartosc[4]
$wartosc[0] = 0
$wartosc[1] = 128
$wartosc[2] = 192
$wartosc[3] = 255


MsgBox(0,"",Przybliz(230))


Func Przybliz($param1)
$najblizej = 9999
For $i = 0 to Ubound($wartosc)-1
If Abs($param1-$wartosc[$i]) < $najblizej Then
$najblizej_ = $i
$najblizej = Abs($param1-$wartosc[$i])
EndIf
Next
Return $wartosc[$najblizej_]
EndFunc


Opublikowano

Dzięki, wyjaśnisz trochę działanie tego??

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

@Sopelek997 tyle ja to wiem ale jak każda linijka działa??

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano
Global $wartosc[4]; tego chyba nie trzeba opisywać
   $wartosc[0] = 0
   $wartosc[1] = 128
   $wartosc[2] = 192
   $wartosc[3] = 255


MsgBox(0,"",Przybliz(230)); tego raczej też


Func Przybliz($param1)
   $najblizej = 9999; nadajemy wartość zmiennej o wiele większą niż różnice wyników poniżej
   For $i = 0 to Ubound($wartosc)-1
 If Abs($param1-$wartosc[$i]) < $najblizej Then; wyciągamy wartość absolutną różnicy liczby którą mamy przybliżyć, jeśli jest ona mniejsza niż zadeklarowana wcześniej zmienna to warunek zostanie spełniony. Prościej sprawdzamy czy różnica jest mniejsza niż poprzednia.
$najblizej_ = $i; nie wiem jak to opisać, ta zmienna opisuje numer wartości do której jest najbliżej
$najblizej = Abs($param1-$wartosc[$i]); nadpisujemy najmniejszą dotychczasową "odległość" do liczby
 EndIf
   Next
   Return $wartosc[$najblizej_]; zwraca liczbę do której "ma najbliżej"
EndFunc

Nie chce mi się myśleć także mogły wyjść pierdoły  o.O

Opublikowano

Dzięki. Do zamknięcia


Dzięki. Do zamknięcia.

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...