Błąd w obliczaniu czasu
Ostatnio zmodyfikowano 2016-09-24 20:57
Meusz Temat założony przez niniejszego użytkownika |
Błąd w obliczaniu czasu » 2016-09-24 19:09:08 Witam, do rozwiązania mam zadanie o treści: Kolejka górska odjeżdża ze stacji Bajniki Zdrój o godzinie T1 i przyjeżdża do stacji Bajlandia Zdrój o godzinie T2. Wyznacz w sekundach czas podróży kolejką wiedząc, że podróż nie trwa dłużej niż jedną dobę. Wejście Pierwszy wiersz wejścia zawiera trzy liczby całkowite g1, m1 i s1: g1 z zakresu 0..23, m1 z zakresu 0..59 i s1 z zakresu 0..59 - czas odjazdu kolejki T1. Podobnie w wierszu drugim zapisano czas przyjazdu kolejki T2. Wyjście Pierwszy i jedyny wiersz wyjścia zakończony znakiem nowej linii powinien zawierać liczbę sekund od chwili T1 do chwili T2. Przykład Dla danych wejściowych: 10 35 3 10 35 3 poprawnym wynikiem jest: 0 Dla danych wejściowych: 13 48 6 13 51 41 poprawnym wynikiem jest: 215 A natomiast mój kod wygląda tak: #include <iostream> #include <cmath>
using namespace std;
int g1, m1, s1, t1, g2, m2, s2, t2, w;
int main() { cin >> g1 >> m1 >> s1 >> g2 >> m2 >> s2; t1 ==(( g1 * 3600 ) +( m2 * 60 ) + s1 ); t2 ==(( g2 * 3600 ) +( m2 * 60 ) + s2 ); if(( g1 >= 0 && g1 <= 23 ) &&( m1 >= 0 && m1 <= 59 ) &&( s1 >= 0 && m1 <= 59 ) &&( g2 >= 0 && g2 <= 23 ) &&( m2 >= 0 && m2 <= 59 ) &&( s2 >= 0 && s2 <= 59 ) ) { t2 - t1 == w; cout << w; } else return 0; }
Cokolwiek wpiszę, wypisane jest zawsze 0. |
|
carlosmay |
» 2016-09-24 19:17:08 == to nie jest operator przypisania, a tutaj przypisanie jest w niewłaściwą stronę t2 - t1 == w; |
|
Meusz Temat założony przez niniejszego użytkownika |
» 2016-09-24 19:27:32 Zmienienie tego nie pomogło, kod wygląda następująco: #include <iostream> #include <cmath>
using namespace std;
int g1, m1, s1, t1, g2, m2, s2, t2, w;
int main() { cin >> g1 >> m1 >> s1 >> g2 >> m2 >> s2; t1 ==(( g1 * 3600 ) +( m2 * 60 ) + s1 ); t2 ==(( g2 * 3600 ) +( m2 * 60 ) + s2 ); if(( g1 >= 0 && g1 <= 23 ) &&( m1 >= 0 && m1 <= 59 ) &&( s1 >= 0 && m1 <= 59 ) &&( g2 >= 0 && g2 <= 23 ) &&( m2 >= 0 && m2 <= 59 ) &&( s2 >= 0 && s2 <= 59 ) ) { w == t2 - t1; cout << w; } else return 0; }
|
|
kistel66 |
» 2016-09-24 19:35:33 == to nie jest operator przypisania. w = t2 - t1 ; |
|
Meusz Temat założony przez niniejszego użytkownika |
» 2016-09-24 20:03:23 Wciąż zmienienie tej linijki kodu nie naprawiło programu. |
|
carlosmay |
» 2016-09-24 20:57:29 |
|
« 1 » |