TEMA

Wrong answer (15%), mas resultados conferem

Rodrigo preguntado 9 months ago

Testei vários casos diferentes, e quase dez casos do uDebug, todos dão certo. Não consigo encontrar o que está errado em meu código.

E por algum motivo não consegui usar a formatação para código, eu selecionei o texto e cliquei em Code mas não aparece no post corretamente. Também digitei as aspas no início e no fim para delimitar como código, mas também não deu resultado.


#include <stdio.h>
#include <string.h>

int main()
{
    int W = 0, X = 0, Y = 0, Z = 0;
    int Wini = 0, Wfin = 0, Xini = 0, Xfin = 0, Yini = 0, Yfin = 0, Zini = 0, Zfin = 0;

    scanf("Dia %d", &Wini);
    scanf("%d : %d : %d", &Xini,  &Yini, &Zini);
    fflush(stdin);
    scanf("Dia %d", &Wfin);
    scanf("%d : %d : %d", &Xfin,  &Yfin, &Zfin);

    //------------------------

    // DIAS

    W = Wfin - Wini - 1;

    //------------------------

    // HORAS

    if(Xfin > Xini)
    {
        X = Xfin - Xini;
        W = W + 1;
    }
    if(Xfin < Xini)
    {
        Xfin = Xfin + 24;
        X = Xfin - Xini;
    }
    if(Xfin == Xini)
    {
        X = 0;
        W = W + 1;
    }

    //------------------------

    // MINUTOS

    if(Yfin > Yini)
    {
        Y = Yfin - Yini;
    }
    if(Yfin < Yini)
    {
        Y = (60 - Yini) + Yfin;
    }
    if(Yfin == Yini)
    {
        Y = 0;
    }

    //------------------------

    // SEGUNDOS

    if(Zfin > Zini)
    {
        Z = Zfin - Zini;
    }
    if(Zfin < Zini)
    {
        Z = (60 - Zini) + Zfin;
    }
    if(Zfin == Zini)
    {
        Z = 0;
    }

    //------------------------

    printf("%d dia(s)\n", W);
    printf("%d hora(s)\n", X);
    printf("%d minuto(s)\n", Y);
    printf("%d segundo(s)\n", Z);

    return 0;
}

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.

  • josean respondido 9 months ago

    testa com esse caso:

    Dia 11
    08 : 12 : 23
    Dia 29
    06 : 13 : 23

    saída correta:

    17 dia(s)
    22 hora(s)
    1 minuto(s)
    0 segundo(s)

    saída do seu código

    -12 dia(s)
    16 hora(s)
    48 minuto(s)
    37 segundo(s)