hvala 8
ljudi necete vjerovat citav dan sam radio ovaj zadatak sa kazaljkama
(kad ce se poklopiti)
Ovako sam krenuo:
Kada se kazaljke(od sata i minuta) poklope to znaci da opisuju isti ugao pocev od 0...
kazaljka za sate opiše 6° dok prede 1h a kazaljka za minute opise 1,2° dok prede 1min
tako i sekundara.....
kazaljka za sekunde vuce kazaljku za minute a ova onu za sate...
pa sam napravio dvije petlje(za minute i sekunde) od 1 to 60 a prije toga treba unijeti "s" cijeli broj sati
pa je samo sati h:=s+prva petlja/60+druga petlja/360
samo minuta min:=prva petlja+druga petlja/60
uslov poklapanja h*6=min*1,2
dakle sve je to u redu...........ali najgore je sad dolazi jer se radi sa realnim brojevima
pa kada puno preciziram onda dobijem da se nikad u potpunosti kazaljke ne poklope
(sto i mislim da je tacno----kada bi oznacili mikrostepene na satu)
ali kada idem na priblizne vrijednosti onda mi program ispise da se kazaljke poklapaju citavu minutu dakle svake secunde u min...
to je npr.. za SAT=3 poklapaju se od 3h :15min : 0sec do 3h : 15min 59sec
dakle dobijem 60 rezultata...... TO JE ONA ĆIZA KOJA TRAJE 1MIN
al sad kada idem na zaokruzivanje na 2 decimale problem je jos veci ali se dobije rezultat
puno vise varijabli,transformisanje iz integer u string i obratno,,kod je prevelik itd...
dakle previse......
necete vjerovat tona hartije oko mene slike grafovi satovi
pa sam odustao i od prihvatanja rjesenja mada mislim da sam u pravu ali kako ja uvijek nadem tezu varijantu nadam se da ce mi neko dodat ideju
imam kod od nekog dr. Zdravko Dovedan al ne razumem
nek mi neko objasni zasto ide kod ovako zasto *60/11
Code:
...
begin
READLN(SAT);
T:=(SAT MOD 12)*60/11;
WRITELN (SAT:2,':',INT(T):2:0,':',ROUND(FRAC(T)*60):2);
end.
[Ovu poruku je menjao atlas dana 09.01.2006. u 18:22 GMT+1]