Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1

    Homme Profil pro
    Webmaster
    Inscrit en
    janvier 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : janvier 2012
    Messages : 32
    Points : -3
    Points
    -3

    Par défaut Intersection de deux fichiers

    SALUT

    J'ai besoin d'un programme Pascal qui produit un fichier contenant l'intersection des deux fichiers.

    L’exercice : on considère deux ensembles d'entiers représentés dans les fichiers. Chaque entier n'apparaît qu'en un exemplaire dans une séquence. Écrire un programme qui produit un fichier contenant l'intersection des deux ensembles.
    Exemple :
    fichier 1 : 10 5 12 7 19 28 6.
    fichier 2 : 5 14 19 2 10 6 29 3 7.
    fichier résultat : 10 5 7 19 6.


  2. #2
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 477
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 477
    Points : 14 347
    Points
    14 347

    Par défaut

    voila ce que c'est de faire ses devoirs au dernier moment
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  3. #3

    Homme Profil pro
    Webmaster
    Inscrit en
    janvier 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : janvier 2012
    Messages : 32
    Points : -3
    Points
    -3

    Par défaut

    Citation Envoyé par Paul TOTH Voir le message
    voila ce que c'est de faire ses devoirs au dernier moment
    XD
    En fait ce n'est pas un devoir, je veux juste préparer le prochain cour (lever le doigt XD)

  4. #4
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 200
    Points : 2 973
    Points
    2 973

    Par défaut

    Citation Envoyé par elhadiDZ Voir le message
    En fait ce n'est pas un devoir, je veux juste préparer le prochain cours
    Sage résolution. Mais quelle difficulté rencontres-tu ?

    La procédure n'est pas très difficile à concevoir :

    Pour chacun des éléments du fichier A,
    chercher s'il est aussi dans le fichier B;
    s'il y est, l'ajouter dans le fichier C.
    L'Art est long et le Temps est court.

  5. #5

    Homme Profil pro
    Webmaster
    Inscrit en
    janvier 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : janvier 2012
    Messages : 32
    Points : -3
    Points
    -3

    Par défaut

    merci , Nous n'avons pas étudié cette leçon de fichiers , je veux juste préparer la leçon.

    je veux le programme pascal de l'intersection
    Qui veux m'aidez : merci , qui veux quelque chose d'autre il ya d'autre forums ...


  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    avril 2002
    Messages
    2 331
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : avril 2002
    Messages : 2 331
    Points : 3 403
    Points
    3 403

    Par défaut

    Rappel des règles: Nous ne fournissons aucun code source à la demande.

    Merci de lire http://club.developpez.com/regles

    Prendre de l'avance sur la leçon à venir c'est bien, mais tu ne peux pas demander un code si précis. Tu peux t'inspirer des tutoriels disponibles sur ce site, créer ton code et nous le montrer pour le corriger par exemple.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 200
    Points : 2 973
    Points
    2 973

    Par défaut

    Citation Envoyé par elhadiDZ Voir le message
    je veux le programme pascal de l'intersection
    Tu veux ?

    Ça ne se dit pas, sauf quand on est roi.
    L'Art est long et le Temps est court.

  8. #8
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    Par défaut

    Moe,
    Citation Envoyé par Roland Chastain Voir le message
    Tu veux ?
    Ça dépend directement de la culture d'origine.
    C'est une manière commune de s'exprimer pour les populations d'Afrique du Nord.

    Citation Envoyé par Roland Chastain Voir le message
    Ça ne se dit pas, sauf quand on est roi.
    Les rois disaient plutôt nous voudrions. Eh oui, ils avaient en général au moins cette qualité là, la politesse (j'ai bien écrit "en général" ).
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  9. #9
    Invité de passage
    Homme Profil pro George Klarckson
    Étudiant
    Inscrit en
    mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme George Klarckson
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : mars 2012
    Messages : 12
    Points : 2
    Points
    2

    Par défaut Code proposé

    Supposons que les Fichiers sont déja stockés sur le disque dur.
    Code :
    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
    program prop;
    uses crt;
    var F1,F2,F3: File of integer;
         T1,T2,T3: array[1..200] of integer;
         i,j,c: integer;
    Begin
    writeln('Lecture du premier fichier');   
    assign(F1,'Fichier1.int');
    reset(F1);
    seek(F1,0);
    For i:=1 to (Filesize(F1)) do
       BEGIN
       seek(F1,i);
       read(F1,c);
       T1[i]:=c;
       END;
    writeln('Lecture du deuxieme fichier');   
    assign(F2,'Fichier2.int');
    reset(F2);
    For i:=1 to (Filesize(F2)) do
       BEGIN
       seek(F2,i);
       read(F2,c);
       T2[i]:=c;
       END;
    writeln('recherche d''intersection');
    c:=0;
    For i:=1 to (Filesize(F1)) do
     For j:=1 to (Filesize(F2)) do
    BEGIN
     if (T1[i]=T2[j]) then
     Begin
     c:=c+1;
     T3[c]:=T1[i];
     END;
    END;
    assign(F3,'Fichier3.int');
    rewrite(F3);
    For i:=1 to c do
    write(F3,T3[i]);
    close(F1);
    close(F2);
    close(F3);
    writeln('travail terminé');
    readln;
    End.
    Voilà le code que je propose, il n'y a aucune erreur normalement il travaille bien.

  10. #10
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    Par défaut

    Hoi,

    C'est du code pas franchement propre, ET il ne répond pas à la question, puisque tu utilises des fichiers au format binaire (file of integer), alors que l'énoncé montre leur contenu : c'est du format texte.

    Comprendre le problème posé est la clé pour trouver la bonne solution.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  11. #11
    Membre Expert Avatar de Dr.Who
    Inscrit en
    septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : septembre 2009
    Messages : 980
    Points : 1 162
    Points
    1 162

    Par défaut

    En delphi :


    Code :
    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
     
    procedure CreateIntersecFile(aFileNameA, aFileNameB, aFileNameResult: string; const aAsCSV: boolean = false; const aCSVSeparator: char = #32);
    var X: integer;
        CSV, A, B, R : TStringList;
     
    begin
      A := TStringList.Create;
      B := TStringList.Create;
      R := TStringList.Create;
      try
        A.LoadFromFile(aFileNameA);
        B.LoadFromFile(aFileNameB);
        if aAsCSV then
        begin
          CSV := TStringList.Create;
          CSV.StrictDelimiter := true;
          CSV.Delimiter := aCSVSeparator;
          CSV.DelimitedText := A.Text;
          A.Text := CSV.Text;
          CSV.DelimitedText := B.Text;
          B.Text := CSV.Text;
        end;
     
        //ListBoxA.Items.Text := A.Text;
        //ListBoxB.Items.Text := B.Text;
     
        for X := 0 to A.Count - 1 do
        begin
          if B.IndexOf(A[X]) <> -1 then
            R.Add(A[X]);
        end;
        //ListBoxR.Items.Text := R.Text;
        R.SaveToFile(aFileNameResult);
      finally
        R.Free;
        B.Free;
        A.Free;
      end;
    end;
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •