Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bloqué sur un exercice de conditions avancées

    22 mai 2017 à 14:38:53

    Bonjour, Je n'arrive pas à trouver d'où vient le problème, quelqu'un pourrait-il m'indiquer ce qui cloche dans ce que j'ai fait?

    Merci d'avance.

    ci-dessous l'énoncé de l'exercice:

    Ce que doit faire votre programme :

    On vous donne une période de temps à étudier, et les dates d'arrivée et de départ d'un certain nombre d'invités d'une fête. Écrivez un programme qui détermine combien d'invités ont été présents à un moment de la période étudiée.

    Votre programme doit d'abord lire deux entiers : la date de début et la date de fin de la période étudiée. L'entier suivant, nbInvites, est le nombre total d'invités. Pour chaque invité, votre programme doit ensuite lire deux entiers : sa date d'arrivée et de départ. Un invité est suspect si la période à laquelle il a été présent intersecte la période étudiée. Votre programme doit afficher le nombre d'invités suspects.

    #include <stdio.h>
    int main (void)
    {
        int dDebut, dFin, nbInvites, hEntree, hSortie, nbSuspect=0;
        scanf("%d %d %d ", &dDebut, &dFin, &nbInvites);
        for (int i=0; i<nbInvites; i++)
        {
           scanf("%d %d ", &hEntree, &hSortie);
        
           if((hSortie>=dDebut&&hSortie<=dFin)||(hEntree>=dDebut&&hEntree<=dFin))
                nbSuspect++;
        }
        printf("%d",nbSuspect);
        return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
    https://openclassrooms.com/forum/sujet/help-recherche-mentor
      22 mai 2017 à 15:20:58

      Salut :)

      La première partie de ta condition ne sera vraie QUE si l'invite est arrive après le début de la période et reparti avant sa fin.

      La deuxième partie de ta condition utilises des variables auxquelles tu n'assignes aucune valeur.

      PS: Pour qu'un invite soit suspect il suffit que sa date d'arrivee soit avant la fin de la periode etudiee ET que sa date de depart soit apres le debut de la periode.

      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2017 à 15:38:11

        Merci pour ton aide.
        #include <stdio.h>
        
        int main (void)
        {
            int dDebut, dFin, nbInvites, hEntree, hSortie, nbSuspect=0, i=0;
            scanf("%d \n", &dDebut);
            scanf("%d \n", &dFin);
            scanf("%d \n", &nbInvites);
        
            for (i=0; i<nbInvites; i++)
            {
                   scanf("%d \n", &hEntree);
                   scanf("%d \n", &hSortie);
        
                   if((hSortie>=dDebut&&hSortie<=dFin)||(hEntree>=dDebut&&hEntree<=dFin)||(hEntree<=dDebut&&hSortie>=dFin))
                    nbSuspect++;
            }
            printf("%d",nbSuspect);
            return 0;
        }
        

        -
        Edité par Raoul.B 22 mai 2017 à 15:38:29

        • Partager sur Facebook
        • Partager sur Twitter
        https://openclassrooms.com/forum/sujet/help-recherche-mentor
          22 mai 2017 à 15:44:49

          Bonjour,

          C'est un avis purement subjectif mais je te conseille d'espacer davantage tes conditions pour t'y retrouver dans ton code.

          • Partager sur Facebook
          • Partager sur Twitter
          Et Java créa le -jar Binks.jar
            22 mai 2017 à 15:50:35

            Merci pour ton conseil, j'y ferai plus attention dorénavant.
            • Partager sur Facebook
            • Partager sur Twitter
            https://openclassrooms.com/forum/sujet/help-recherche-mentor
              22 mai 2017 à 16:04:54

              Si tu as le droit de faire des fonctions, ne t'en prive pas.

              https://ideone.com/GABJME

              Cela permet de rendre les choses plus lisibles.

              L'exercice ne précise pas si la période [13,25] intersecte la période [25,36]
              ils ont juste 25 en commun, mais ça peut suffire pour avoir des résultats qui peuvent différer selon comment on le comprend.

              • Partager sur Facebook
              • Partager sur Twitter
                22 mai 2017 à 16:17:48

                Merci mais j'ai pas encore assez de connaissance du C, tu surestimes largement mes capacités :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                https://openclassrooms.com/forum/sujet/help-recherche-mentor
                  22 mai 2017 à 16:40:05

                  Mea culpa :D

                  Une version sans les fonctions :

                  https://ideone.com/Hc6yzK

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Bloqué sur un exercice de conditions avancées

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown