Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chercher des caractères absents dans un fichier

Problème de manipulation de fichier

    18 juin 2021 à 14:41:51

    Salut à tous je suis un débutant et j'ai besoins de votre aide. J'aimerais ouvrir un fichier et le parcourir en cherchant dans l'ensemble du fichier les lettres de l'alphabet non utiliser. Quelle fonction puis-je utiliser pour cela ? Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2021 à 15:56:06

      Salut,

      Enigme20 a écrit:

      [...]Quelle fonction puis-je utiliser pour cela ?[...]

      La tienne par exemple, parce que ce n'est pas dans la lib standard ou dans d'autre que je connaisse.

      Tu fais une liste des lettres, quand tu la trouves dans le fichier, tu la coches, celles qui n'auront pas été cochées sont manquantes...

      Bonne continuation.



      -
      Edité par drx 18 juin 2021 à 15:56:39

      • Partager sur Facebook
      • Partager sur Twitter

      Bonhomme !! | Jeu de plateforme : Prototype.

        18 juin 2021 à 16:34:59

        Si le fichier ne contient que des caractères ASCII de base, tu peux par exemple créer un tableau de taille 128 (indices de 0 à 127) initialisé à 0 et lire le fichier caractère par caractère : pour chaque caractère 'c', tu incrémentes tableau[c], ça permettra même d'obtenir un compteur pour chaque caractère.
        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2021 à 17:53:42

          @Enigme20:
          Je ne trouve pas la question claire. Sais-tu comment ouvrir un fichier avec fopen et le fermer avec fclose?
          j'utiliserais fgets si je connais la longueur des lignes ou fgetc sinon.
          Sinon les trucs de drx et robun sont les bons.
          • Partager sur Facebook
          • Partager sur Twitter

          Le Tout est souvent plus grand que la somme de ses parties.

            18 juin 2021 à 19:08:07

            La question est à priori de rechercher les lettre de l'alphabet non présente dans le fichier texte à traiter.

            Donc comme le suggère drx faire une liste des lettres de l'alphabet qui comporte 26 lettres il me semble. Puis cocher les présente à mesure de la lecture du fichier, celle qui n'on pas été cochée sont donc les absentes.

            Pour ouvrir un fichier tu peux utiliser la fonction fopen et pour lire caractère par caractère tu peux utiliser fgetc.

            Commence par faire cela ça sera déjà pas mal.

            PS : pour poster ton code utilise le bouton code </> du forum.

            -
            Edité par rouloude 18 juin 2021 à 19:09:10

            • Partager sur Facebook
            • Partager sur Twitter
              18 juin 2021 à 19:48:43

              Je préfère l'idée de @robun. Je déclare un tableau de 26 int que j'initialise à zéro, je parcours le fichier caractère par caractère, et j'incrémente la case de mon tableau correspondant à la lettre lue. Il suffit ensuite d'afficher les lettres dont la case du tableau est restée à zéro.
              • Partager sur Facebook
              • Partager sur Twitter

              On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                18 juin 2021 à 20:23:08

                Ne pas oublier de convertir les majuscules (ou miniscules) dans la bonne case.
                Si on veut savoir quelles sont les lettres absentes, pas besoin d'additionner, on met à 1 la case correspondante si on rencontre la lettre.
                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  18 juin 2021 à 20:30:00

                  edgarjacobs a écrit:

                  Je préfère l'idée de @robun. Je déclare un tableau de 26 int que j'initialise à zéro, je parcours le fichier caractère par caractère, et j'incrémente la case de mon tableau correspondant à la lettre lue. Il suffit ensuite d'afficher les lettres dont la case du tableau est restée à zéro.


                  Compter n'est pas dans le deal, un tableau de booléens (char), on met à vrai si on a une occurrence. Les index restés à faux indiquent les lettres absentes.

                  edit : Grilled ^^ .

                  -
                  Edité par drx 18 juin 2021 à 20:31:08

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Bonhomme !! | Jeu de plateforme : Prototype.

                    18 juin 2021 à 20:43:31

                    Je suis bien d'accord qu'il n'est pas demandé pas de compter, mais entre faire array[i]++ et array[i]=1, il n'y a pas grande différence.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                      18 juin 2021 à 21:06:46

                      Vous ne chipotez pas un peu trop ? 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 juin 2021 à 21:16:22

                        Sauf s'il y a 4 294 967 296 'a' dans le fichier...

                        Je te charrie. Par contre compter dans un char est risqué, 256 occurrences (ou multiple) est une possibilité...

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Bonhomme !! | Jeu de plateforme : Prototype.

                        Chercher des caractères absents dans un fichier

                        × 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