nu imi prea place metoda folosita de time dar uite codul:
#include <iostream>
using namespace std;
int main(){
int o,m,s,o2,m2,s2,p2,p,d,nr=0,nr2=0,g=0,g1=0;
cin>>o>>m>>s>>o2>>m2>>s2;
o=o*3600;
m=m*60;
p=o+m+s;
o2=o2*3600;
m2=m2*60;
p2=o2+m2+s2;
if(p2>p){
d=p2-p;
if(d>=60){
while(d!=0){
d--;
nr++;
if(nr==60){//asa se verifica o egalitate
g++;
nr=0;
}
}
}
if(g>=60){
while(g!=0){
g--;
nr2++;
if(nr2==60){//asa se verifica o egalitate
g1++;
nr2=0; //resetezi minutele
}
}
}
else
g1=0;
}
cout<<g1<<" "<<nr2<<" "<<nr;
return 0;
}
Incearca pe viitor sa ai mai organizat codul fiindca la felul cum l-ai scris tu e o durere de cap ca sa inteleaga cineva ce faci.
uite alta metoda de a transforma secundele in ore si minute:
#include <iostream>
using namespace std;
int main()
{ int o,m,s,o2,m2,s2,p2,p,d,nr=0,nr2=0,g=0,g1=0;
cin>>o>>m>>s>>o2>>m2>>s2;
o=o*3600; m=m*60; p=o+m+s;
o2=o2*3600; m2=m2*60; p2=o2+m2+s2;
if(p2>p){
d=p2-p;
g1=d/3600;
d=d%3600;
g=d/60;
d=d%60;
}
cout<<g1<<" "<<g<<" "<<d;
return 0;
}