[ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 26.09.15
Príspevky: 23
Témy: 7 | 7
NapísalOffline : 02.12.2009 13:06 | problem s porovnavacim operatorom

Ahojte,

ak niekto moze poradit budem rad...

Problem je ze pri pouziti operatora if v tvare if($val==360){...}
nedokaze byt podmienka vyhodnotena spravne i ked premenna $val nadobuda hodnotu 360 po konverzii z hodnoty v radianoch

Je to najskor len malickost ... ale momentalne s tym neviem pohnut ... najskor je to problem nezhody ciselnych typov premennych, ale to by nemal byt preblem pri pouziti porovnavacieho operatora ==

Za kazdu radu vopred vdaka


Offline

Čestný člen
Čestný člen
problem s porovnavacim operatorom

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 02.12.2009 13:11 | problem s porovnavacim operatorom

Vyskusaj var_dump($val), co vypisuje?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 26.09.15
Príspevky: 23
Témy: 7 | 7
Napísal autor témyOffline : 02.12.2009 15:24 | problem s porovnavacim operatorom

ahoj

skusal som uz ... vysledok bol float(360) ... teda predpokladam,ze konstanta 360 na pravej strane je deklarovana ako int(360) ... skusal som zmenit jej typ z int do float, ale stale bol neuspech ... asi tak


Offline

Čestný člen
Čestný člen
problem s porovnavacim operatorom

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 02.12.2009 15:32 | problem s porovnavacim operatorom

Problem bude v niecom inom. Daj si do tej podmienky echo, ci to nieco vypisuje, pretoze u mna je normalne podmienka pravdiva, 360.0 == 360.


Offline

Správca fóra
Správca fóra
problem s porovnavacim operatorom

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 02.12.2009 15:34 | problem s porovnavacim operatorom

skus postnut zdrojak...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 26.09.15
Príspevky: 23
Témy: 7 | 7
Napísal autor témyOffline : 02.12.2009 22:33 | problem s porovnavacim operatorom

zdar pani ... trocha som to upravil ... ospravedlnujem sa za ten mensi chaos v kode ...

Kód:
$x1=5;
$y1=2;
$x=array(0,4,6,6);
$y=array(0,1,1,4);
$i=3;

$suma_uhlov=0;

for ($j=1;$j<$i;$j=$j+1)
{
$a=sqrt(pow(($x1-$x[$j]),2)+pow(($y1-$y[$j]),2));
$b=sqrt(pow(($x1-$x[$j+1]),2)+pow(($y1-$y[$j+1]),2));
$p=sqrt(pow(($x[$j]-$x[$j+1]),2)+pow(($y[$j]-$y[$j+1]),2));

$uhol[$j]=acos((pow($a,2)+pow($b,2)-pow($p,2))/(2*$a*$b));               
}


$a=sqrt(pow(($x1-$x[$j]),2)+pow(($y1-$y[$j]),2));
$b=sqrt(pow(($x1-$x[1]),2)+pow(($y1-$y[1]),2));
$p=sqrt(pow(($x[$j]-$x[1]),2)+pow(($y[$j]-$y[1]),2));

$uhol[$j]=acos((pow($a,2)+pow($b,2)-pow($p,2))/(2*$a*$b));


foreach($uhol as $current)
{
$suma_uhlov=($suma_uhlov+$current);   
}

$suma_uhlov=rad2deg($suma_uhlov);

if ($suma_uhlov==360)
{
echo 'ANO';   
}
else
{
echo 'NIE';   
}


Offline

Správca fóra
Správca fóra
problem s porovnavacim operatorom

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 02.12.2009 23:36 | problem s porovnavacim operatorom

ak $suma_uhlov pretypujes na string, tak to uz zbehne v poriadku...

//je to dost nezvycajne spravanie... ak napr. zaokruhlis hodnotu $suma_uhlov, tak to tiez funguje... ako keby funkcia rad2deg nevracala v skutocnosti taku hodnotu, aka sa vypisuje cez echo ci var_dump, vykonava sa tam nejake zaokruhlovanie na pozadi...

Kód:
echo (int)359.9999999999999; //vypise 359
echo (int)359.99999999999999; //vypise 360

podobne to funguje aj s float...

s najvacsou pravdepodobnostou bude prave tento fakt pricinou chybneho vyhodnotenia podmienky v tvojom skripte...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 26.09.15
Príspevky: 23
Témy: 7 | 7
Napísal autor témyOffline : 03.12.2009 10:23 | problem s porovnavacim operatorom

vdaka stenley ... tuto cestu som uz volil aj predtym ako jedno z rieseni, len mi povedzme nedalo spavat to preco? ... velka vdaka za pomoc


 [ Príspevkov: 8 ] 


problem s porovnavacim operatorom



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Google plánuje byť mobilným operátorom

v Novinky

18

653

03.12.2007 16:01

ferkooo

V tomto fóre nie sú ďalšie neprečítané témy.

deklarovanie dvojrozmerneho pola s operatorom new

v Assembler, C, C++, Pascal, Java

10

748

28.12.2008 23:56

neutronmind

V tomto fóre nie sú ďalšie neprečítané témy.

M Firefox problém so sťahovaním a GCH problém s updatom

v Sieťové a internetové programy

0

173

23.01.2015 16:06

Stary

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so zobrazovaním www stránok, problém užívateľa

v Operačné systémy Microsoft

17

762

23.03.2009 10:41

FERDA23

V tomto fóre nie sú ďalšie neprečítané témy.

Záhadný problém s PC... problém procesora?

[ Choď na stránku:Choď na stránku: 1, 2 ]

v AMD - Advanced Micro Devices

45

2217

26.04.2012 11:14

netpeter77

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Battlefield 3 SKIDROW problem + win7 problem

v Počítačové hry

1

371

22.09.2012 23:51

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s MB ASUS P5K - problém s Realtek

v Ovládače

4

970

14.06.2008 10:36

$ph!nX

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s HDD / Problém s bootovaním

v Pevné disky a radiče

4

316

22.02.2013 14:08

lucifer666x

V tomto fóre nie sú ďalšie neprečítané témy.

PROBLEM

v Správy pre vedenie fóra

7

1408

07.08.2011 11:28

KocuR

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Webdesign

3

534

06.02.2008 19:32

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v AMD čipové sady

5

273

27.06.2011 14:46

Semp

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Operačné systémy Microsoft

2

311

21.12.2008 17:11

patqo_he

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Antivíry a antispywary

1

481

02.11.2008 13:18

Mandy

V tomto fóre nie sú ďalšie neprečítané témy.

PROBLEM

v Ostatné

9

545

14.09.2009 23:07

achmed17

V tomto fóre nie sú ďalšie neprečítané témy.

PROBLEM

v Operačné systémy Microsoft

10

551

14.12.2008 23:55

pietko11

V tomto fóre nie sú ďalšie neprečítané témy.

Problem

v Operačné systémy Microsoft

10

115

28.08.2014 22:14

kllr007



© 2005 - 2017 PCforum, edited by JanoF