TOPIC

Wrong answer 5% - Não consigo achar o erro.Alguém?

Matheus Vinícius asked 1 month ago

include

int main(){

int di = 0, hi = 0, mi = 0, si = 0;
int df = 0, hf = 0, mf = 0, sf = 0;
int d = 0, h = 0, m = 0, s = 0;
int soma = 0;

scanf("Dia %d", &di);
scanf("%d : %d : %d\n", &hi, &mi, &si);
scanf("Dia %d", &df);
scanf("%d : %d : %d", &hf, &mf, &sf);

if(hf >= hi && mf >= mi && sf >= si && df >= di){
    h = hf - hi;
    m = mf - mi;
    s = sf - si;
    d = df - di;
}
else if(hf >= hi && mf > mi && sf < si && df >= di){
        h = hf - hi;
        m = (mf - 1) - mi;
        s = (sf + 60) - si;
        d = df - di;
    }
    else if(hf > hi && mf == mi && sf < si && df >= di){
            s = (sf + 60) - si;
            m = ((mf - 1) + 60) - mi;
            h = (hf - 1) - hi;
            d = df - di;
        }
        else if(hf == hi && mf == mi && sf < si && df > di){
                s = (sf + 60) - si;
                m = ((mf - 1) + 60) - mi;
                h = ((hf - 1) + 24) - hi;
                d = (df - di) - 1;
            }
            else if(hf > hi && mf < mi && sf >= si && df >= di){
                    s = sf - si;
                    m = (mf + 60) - mi;
                    h = (hf - 1) - hi;
                    d = df - di;
                }
                else if(hf == hi && mf < mi && sf >= si && df > di){
                        s = sf - si;
                        m = (mf + 60) - mi;
                        h = ((hf - 1) + 24) - hi;
                        d = (df - di) - 1;
                    }
                    else if(hf < hi && mf >= mi && sf >= si && df > di){
                            s = sf - si;
                            m = mf - mi;
                            h = (hf + 24) - hi;
                            d = (df - di) - 1;
                        }
                        else if(hf > hi && mf < mi && sf < si && df >= di){
                                s = (sf + 60) - si;
                                m = ((mf-1) + 60) - mi;
                                h = (hf - 1) - hi;
                                d = df - di;
                            }
                            else if(hf == hi && mf < mi && sf < si && df > di){
                                    s = (sf + 60) - si;
                                    m = ((mf-1) + 60) - mi;
                                    h = ((hf - 1) + 24) - hi;
                                    d = (df - di) - 1;
                                }
                                else if(hf < hi && mf > mi && sf < si && df > di){
                                        s = (sf + 60) - si;
                                        m = (mf - 1) - mi;
                                        h = (hf + 24) - hi;
                                        d = (df - di) - 1;
                                    }

                                else if(hf < hi && mf < mi && sf < si && df > di){
                                        s = (sf + 60) - si;
                                        m = ((mf-1) + 60) - mi;
                                        h = ((hf - 1) + 24) - hi;
                                        d = (df - di) - 1;
                                    }
                                    else{ //if(hf < hi && mf < mi && sf >= si && df > di){
                                        s = sf - si;
                                        m = (mf + 60) - mi;
                                        h = ((hf - 1) + 24) - hi;
                                        d = (df - di) - 1;
                                    }

printf("%d dia(s)\n", d);
printf("%d horas(s)\n", h);
printf("%d minuto(s)\n", m);
printf("%d segundo(s)\n", s);

return 0; }

Remember not post solutions. Your post may be reviewed by our moderators.

  • feodorv replied 1 month ago

    Hm. Seems you should consider all possible combinations (with the help of uDebug) or find more simple and evident approach...