.[ ČeskéHry.cz ].
Trojčlenka?

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Matasx



Založen: 17. 08. 2008
Příspěvky: 258

PříspěvekZaslal: 17. srpen 2008, 14:56:48    Předmět: Trojčlenka? Odpovědět s citátem

Nevím do jaké to patří kategorie tak to dávám sem... Celej den programuju poměrně složitý věci a pak přijde nějaká banalitka a já nejsem schopnej to napsat... proto doufám že mi poradíte Smile

Takže problém je následující:
mám čísla od do (např. od 100 do 250, nebo od 180 do 90, atp...)
dále mám float číslo 5.0 až 0.0

no a já potřebuju z tý stupnice čísel (100 až 250) zjistit jaký číslo náleží např. číslu 4.1...
takže 5.0 ~ 100 a 0.0 ~ 250
nebo taky 5.0 ~ 180 a 0.0 ~ 90

potřeboval bych nějakou funkci, kde vstup bude např. 100,250,5.0, cislo
a vracelo by mi to číslo z tý stupnice od 100 do 250 pro ten danej argument cislo... Doufám že mě aspoň někdo pochopí a pomůže. Já už jsem tak zmatenej že nevím jak na to.

(cislo * (250 - 100)) / 5.0) + 100, tohle fungujejen pro případ, že stupnice jde od nižšího čísla k vyššímu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 17. srpen 2008, 15:10:08    Předmět: Re: Trojčlenka? Odpovědět s citátem

Matasx napsal:
(cislo * (250 - 100)) / 5.0) + 100, tohle fungujejen pro případ, že stupnice jde od nižšího čísla k vyššímu.


mno a kde je tedy problem

kód:

((cislo * (b - a)) / max) + a


vylepsime na

kód:

((cislo * ((b>a?b:a) - (a<b?a:b))) / max) + (a<b?a:b)


tedy zajistis si ze a < b a neni co resit
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Matasx



Založen: 17. 08. 2008
Příspěvky: 258

PříspěvekZaslal: 17. srpen 2008, 15:25:59    Předmět: Odpovědět s citátem

Dobrý jede Smile za odměnu se můžeš podívat na výsledek Very Happy

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Matasx



Založen: 17. 08. 2008
Příspěvky: 258

PříspěvekZaslal: 17. srpen 2008, 17:02:30    Předmět: Odpovědět s citátem

Sem tam měl původně jinou chybu Embarassed ten původní vzoreček funguje pro oba směry.
kód:
((current * (to - from)) / max) + from
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna