IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Entrée sortie fichiers


Sujet :

C

  1. #81
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Suppose qu'à l'entrée de la fonction on a t_min = 1er janvier 01:00:00 et t_max = 17 janvier 18:00:00. Ces tests vérifient juste que t_target est comprise entre ces dates et quittent la fonction avec un status d'échec dans le cas contraire. Lorsque t_target est entre ces deux dates, la trouver dans le fichier est une autre histoire. Et t_target justement peut ne'avoir aucune correspondance dans le fichier.

  2. #82
    Inactif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Etant donné mon niveau comparé au votre, je sais qu'il est quasiment impossible que j'aie raison, mais je n'arrive vraiment pas à voir mon erreur. Excusez-moi d'insister, et merci pour votre patience. J'ai l'impression que la compréhension de mon erreur m'aidera à progresser grandement, car pour l'instant je ne vois pas du tout la subtilité.
    De mon point de vue de débutant, j'ai l'impression que vous avez changé votre position entre ici :
    Ta plus grosse erreur c'est de croire que la date cherchée est toujours comprise entre min et max
    et ici :
    Ces tests vérifient juste que t_target est comprise entre ces dates
    Prenons cet exemple (si vous en trouvez un mieux je le prends volontiers) :
    fichier :
    jan 11 00:00:05 xyz
    jan 11 00:00:07 xyz
    jan 11 00:00:09 xyz
    jan 11 00:00:11 xyz
    date à chercher : jan 11 00:00:08.
    Pour simplifier on pose k=(min+max)/2.
    La date à chercher "n'est pas" dans le fichier à proprement parler, mais elle est bien entre min et max (5<8<11). On rentre donc dans le while.
    Le while s'arrêtera quand max=min+1 (min=max est exclu, car M/2^n atteindra 1 avant d'atteindre 0, lorsque M <> 0, ce qui est le cas) . Supposons par l'absurde qu'à a fin de ce while min et max soient sur une même ligne. Alors dans la dernière boucle, min et max ont rendu la même date, et ce serait donc la date cherchée, car elle est comprise entre min et max (vous avez dit que vous êtes d'accord sur ce point dans votre dernier message). Ainsi min et max ne sont pas sur la même ligne, donc il y a un \n entre les deux.
    Je ne vois pas ce qu'il y a de faux avec ce raisonnement, merci de m'éclairer.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/04/2012, 21h30
  2. Réponses: 15
    Dernier message: 01/11/2008, 15h57
  3. Entrée / sortie dans un fichier binaire
    Par mejrs dans le forum Débuter
    Réponses: 1
    Dernier message: 24/05/2008, 16h48
  4. Réponses: 17
    Dernier message: 07/05/2008, 10h16
  5. Réponses: 11
    Dernier message: 13/10/2004, 00h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo