Puchacz1 Opublikowano 18 Marca 2008 Zgłoś Opublikowano 18 Marca 2008 zapewne uznacie, że problem jest banalny... ale chyba mam zaćmienie bo nic mi do głowy nie przychodzi ( :lol: ). A więc mamy czas obliczony ( w minutach ). Jakaś czynność trwa powiedzmy 250 minut. Moje pytanie brzmi jak uzyskać z tego (oczywiście w języku C++) dokładny czas ( dla tego przypadku będzie to 4h i 10 minut ). Dodam, że wpadłem na dzielenie przez 60 ( :lol2: ) ale jak dotąd gucio mi to daje bo wychodzi nie to co chcę uzyskać (4,16(6) ). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
seba_999 Opublikowano 18 Marca 2008 Zgłoś Opublikowano 18 Marca 2008 ale jak dotąd gucio mi to daje bo wychodzi nie to co chcę uzyskać (4,16(6) ). Proszę nie gnoić, jestem w tych sprawach niekumaty, ale mimo wszystko coś napiszę. 250/60 = 4,1(6) 4 x 60 = 240 250-240=10 => 4h 10 min :rolleyes: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
KrOOliK89 Opublikowano 18 Marca 2008 Zgłoś Opublikowano 18 Marca 2008 (edytowane) Interesuje Cię reszta z dzielenia "%" a= 240 % 60 b= 240 - (a*60) a= 240 % 60 da 4 b= 240 - (a*60) da 0 a= 250 % 60 da 4 b= 250 - (a*60) da 10 Mogłem trochę namieszać, ale mniej więcej o coś takiego chodzi:P --edit-- literówka Edytowane 18 Marca 2008 przez KrOOliK89 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Puchacz1 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 (edytowane) przyznam szczerze, że skorzystałem z Twojego sposobu seba_999. Nasunęło mi się jednak pytanie... jak z minut zrobić sekundy... teoretycznie powinno być tak samo ale... no właśnie. Powiedzmy, że mamy liczbę 17,1429 to albo ja liczyć nie potrafię albo sposób Seby_999 nie działa.... 17 minut -------- 1020 sekund 0,1429 minuty --------- 8,574 sekundy [tylko co mi to daje] Edytowane 19 Marca 2008 przez Puchacz1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
seba_999 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 (edytowane) 17,1429/60 = 0,285715 ---------- (liczba przed przecinkiem -> liczba godzin) 0 * 60 = 0 17-0 = 17 ---------- (minuty) 17,1429 * 60 = 1028,574 1028,574 - 17 * 60 = 8,574 ---------- (sekundy) :rolleyes: Edit: posprzątany bajzel ;) Edytowane 19 Marca 2008 przez seba_999 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Puchacz1 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 (edytowane) wszystko ładnie pięknie tylko liczba jest tu chyba zaokrąglana ponieważ wynik końcowy powinien być 17minut 9 sekund. Aczkolwiek jest to dla mnie zastanawiające... Edytowane 19 Marca 2008 przez Puchacz1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
seba_999 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 (edytowane) wynik końcowy powinien być 17minut 9 sekund. Aczkolwiek jest to dla mnie zastanawiające...Bo 8,574 to w przybliżeniu 9? Edytowane 19 Marca 2008 przez seba_999 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Puchacz1 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 źle się wyraziłem... zastanawiające jest dla mnie to jak zaokrąglić liczbe w C++ Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
seba_999 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 zastanawiające jest dla mnie to jak zaokrąglić liczbe w C++Nie wiem jak to się pisze w C++, ale ja bym jeszcze dodał coś takiego: Liczba: a,bcdef............. jeśli b jest mniejsze lub równe 4 => wyświetl a jeśli b jest większe lub równe 5 => wyświetl a+1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
delekta87 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 Masz w C funkcje ceil - zaokrągla w górę i floor - zaokrągla w dół. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Puchacz1 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 w C a ja potrzebuje w C++. Czy może nie ma różnicy ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
delekta87 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 Nie ma różnicy. To co działa w C to też działa w C++. Na odwrót niestety nie :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Puchacz1 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 (edytowane) kurcze... działa :). Wielkie dzięki :) Jak w takim razie zapisać to aby rozróżniał 2 przypadki .... ? zapisuje [...] if ( zaokrąglenie >= zaokrąglenie + 0,5 ) { std::cout << ceil(zaokrąglenie) << std::endl; } if (zaokrąglenie <= zaokrąglenie + 0,4999999999 { std::cout << floor(zaokrąglenie) << std::endl; [...] wychodzi mi bzdura... to wiem tylko nie mogę wpaść na nic innego :| Edytowane 19 Marca 2008 przez Puchacz1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
delekta87 Opublikowano 19 Marca 2008 Zgłoś Opublikowano 19 Marca 2008 if ( liczba <= floor( liczba )+0.5 ) { zaokraglenie = floor( liczba ); //zaokrąglenie w dół dla końcówki od 0 do 5 włącznie } else { zaokrąglenie = ceil( liczba ); //zaokrąglenie w górę w przedziale od 5 w górę } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 21 Marca 2008 Zgłoś Opublikowano 21 Marca 2008 (edytowane) w czym Ty to piszesz? Są przecież klasy do obsługi czasu, które znakomicie radzą sobie z przeliczaniem czasu w dowolny sposób, z uwzględnieniem lat przestępnych. Po co się pałować, skoro efekty i tak będą zawsze zawierały wady :), lepiej zrobić to jak należy. No chyba, że to ćwiczenie na inteligencję i należy wykazać się tym jak nie należy pisać programów :D Edytowane 21 Marca 2008 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
joorvishoon Opublikowano 2 Kwietnia 2008 Zgłoś Opublikowano 2 Kwietnia 2008 skoro jest temat o czasie to i ja się dopiszę potrzebuję funkcję która zwróci mi czas w milisekundach (nieważne czy od roku 1970 czy od chwili odpalenia komputera czy od kiedy, ważne żeby było w milisekundach). W googlach trafiłem na funkcje Time, ale ona zwraca sekundy... Są jakieś wariacje tej funkcji któe zwracają milisekundy? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kfgz Opublikowano 2 Kwietnia 2008 Zgłoś Opublikowano 2 Kwietnia 2008 (edytowane) Poniżej znajdziesz to czego potrzebujesz ;) http://wyklady.net/packs/opt.zip Pliki którymi powinieneś się zainteresować: speed.h, rtdsc.c i któryś z optsXX.c - wywołanie funkcji mierzącej czas. Edytowane 2 Kwietnia 2008 przez Dj_AnT Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
joorvishoon Opublikowano 2 Kwietnia 2008 Zgłoś Opublikowano 2 Kwietnia 2008 dzięki, przyjrzę się temu bardziej. W sumie bardzo fajna i uniwersalna metoda, ale pobieżne oględziny mówią mi że czas jest ustalany na podst. taktów procesora. Jeśli tak to są jakieś magiczne funkcje do ustalania częstotliwości procesora? :? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...