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

Algorithmes et structures de données Discussion :

une erreur dans un algorithme


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut une erreur dans un algorithme
    Bonsoir à tous, j'ai vraiment besoin de votre aide svp ! donc voilà, on nous a demander d'écrire un algorithme qui tri les valeurs d'un fichier F d'entiers dans l'ordre croissant, j'ai proposé une solution mais le prof m'a dit qu'il y'avait une seule erreur que je devrais corriger moi même mais je n'arrive pas a trouver ! donc si vous pouviez m'aider à retrouver l'erreur ça serait sympa, et merci d'avance

    Voici l'algorithme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    Algorithme Tri_F;
    Type Tab = tableau [1...100] d'entiers ;
     
    var F, w1, w2 : fichier d'entier 
    T : Tab ;
    B : Booleen ;
    I,N,P : entier ;
     
    Procedure Tri_V ( E-S / V : Tab ; E/L : Entier );
    Var I,J,x Entier ;
     
    Debut 
    pour I := 1 a L-1 
    faire pour J:= 1 a L-I 
    faire si V [J] > V[J+1] ;
    alors x : = V[J] ;
    V [J] := V[J+1]
    V[J+1] := x ;
    finsi ;
    fait;
    fait;
    fin;
     
    Debut 
    assigner ( F, 'nombres.dat'); relire (F) ;
    assigner (w1,' work1.tmp'); réecrire (w1);
    assignier (w2;'work2.tmp'); 
     
    tantque non FDF (F) 
    faire I:= 0 
    tantque ( I<100) et non FDF (F) 
    faire I:= I+1 
    lire (F, T[I]);
     
    fait;
     
    N := I ;
    Tri_V (T,N);
     
    Relire ( w1);
     
    si FDF (w1) 
    alors reecrire (w1) 
    pour I:= 1 a N 
    faire ecrire (W1, T[I]) fait ; 
     
    sinon 
    reecrire (w2) 
    I:=1 ; B:=vrai ;
     
    tantque non FDF (w1) et ( I<=N) 
    faire 
    si B alors lire ( w1, p ) ;
    b:= faux ;
    finsi ;
    si P< T [I]
    alors ecrire ( w2, P) ; B:= vrai
    sinon 
    ecrire ( w2, T[I] ); I:= I+1
    finsi;
    fait ;
    tantque non FDF ( w1) 
    faire ecrire ( w2, P) ; lire (w1,P) ; fait ;
    tantque I<=N 
    faire ecrire ( w2, T[I]); I:= I+1 ; fait ;
     
    relire (w2); reecrire (w1) ;
     
    tantque non FDF(w2) 
    faire lire ( w2, P); ecrire ( w1,p); fait ;
     
    fermer (w2) ;
    finsi;
    fait;
     
    fermer (w1); fermer ( F) ; 
     
    FIN.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par coco1212 Voir le message
    Bonsoir à tous, j'ai vraiment besoin de votre aide svp ! donc voilà, on nous a demander d'écrire un algorithme qui tri les valeurs d'un fichier F d'entiers dans l'ordre croissant, j'ai proposé une solution mais le prof m'a dit qu'il y'avait une seule erreur que je devrais corriger moi même mais je n'arrive pas a trouver ! donc si vous pouviez m'aider à retrouver l'erreur ça serait sympa, et merci d'avance
    Tu es au moins honnête dans ta présentation...

    Mon premier conseil c'est de rendre ton algorithme lisible : indente proprement ton code et mets des commentaires expliquant ce que fait chaque partie. Après ça selon toute vraisemblance tu auras trouvé toi-même ton erreur, sinon reposte ton code proprement avec les balise codes (bouton # de l'interface d'édition) ici et on verra si on peut t'aiguiller.

    --
    Jedaï

Discussions similaires

  1. msaccess a provoqué une erreur dans KERNEL32.dll
    Par massol joel dans le forum Access
    Réponses: 12
    Dernier message: 03/04/2006, 14h32
  2. [Dates] Date : Une erreur dans la documentation de PHP ?
    Par vincentweb dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2006, 23h55
  3. Une erreur dans un script
    Par tsing dans le forum Linux
    Réponses: 9
    Dernier message: 16/03/2006, 15h50
  4. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40
  5. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06

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