Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Déterminer la langue d'un texte en C


lolipo

Messages recommandés

Bonjour à vous, je dois faire un programme en c (compiler sur linux pas de mathslab ou autre) qui doit déterminer la langue du texte analyser. Une ou plusieurs librairies de mots courants pour chaque langue est à faire;

Pourriez vous m'aider s'il vous plait?

merci

Modifié par lolipo
Lien vers le commentaire
Partager sur d’autres sites

On veut bien t'aider, mais il faut déjà nous donner des directions...

Tu en es où dans ton analyse ? Tu as déjà entamé le codage ? Tu bloques sur des problèmes de quel ordre ? technique ? fonctionnel ? autre ?

 

A priori il suffit de prendre les mots du texte un par un, de compter le nombre de fois où ils apparaissent dans des dicos de différentes langues et déterminer dans quel dico tu as trouvé le plus de mots : normalement c'est dans cette langue qu'est écrit ton texte !

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

bonjour à vous.

Il y a eu du temps entre ces messages!!

 

Bon je m'y suis remis.

Voilà ce que j'ai :

--Trois listes en format txt avec les mots les plus courants de français, anglais et espagnol. (ces listes ont été crées sous linux avec la commande :

 

"gawk '{for (i=1;i<=NF;i++)print $i}' tmp.html | sort | uniq -c | gawk

'($1>5)' | sort -n"

 

à partir de texte d'écrivain natif de la langue.)

 

--Ce que je veux, c'est tout bête je pense.

Sous linux, une fois le programme compilé dans la fenêtre, je désire qu'il me demande le nom du texte à analyser et l'endroit où il est stocké sur le disque dur (on fera simple genre "bureau!". ) Ensuite le programme scrute le texte et se réfère au trois listes (boucle if ou while ou même for je pense). Il compare le texte au listes et dès qu'il a trouver au moins 5 mots communs au deux, qu'il m'indique : "ce texte est écrit en ....."

 

Voilà, le programme que je souhaiterai avoir(pas tout cuit dans le bec je modifie!!).

merci d'avoir tout lu!!!

Modifié par lolipo
Lien vers le commentaire
Partager sur d’autres sites

Voilà, le programme que je souhaiterai avoir.

Loin de moi l'envie de paraitre désagréable, mais tu aurais du écrire "Voilà le programme que je vais faire"... On veut bien te venir en aide, mais il ne faut pas pousser !

Tu as déjà fait toute l'analyse de ton problème (recensé les structures de données et les algos que tu vas utiliser, entre autres) ?

Lien vers le commentaire
Partager sur d’autres sites

je ne souhaite pas recevoir un mail avec le prog en piece jointe je vous rassure!!

je voulais dire dont j'ai besoin!! :P

pour répondre à ta question, je pense avoir le bon acheminement logique mais je ne sais programmer des choses plus simple que ça!!

donc si vous avez des questions, n'hésitez pas!

Lien vers le commentaire
Partager sur d’autres sites

je pense avoir le bon acheminement logique
Qui est ... ?

 

// A titre d'exemple, voici un brouillon de ce que je pourrais envisager de faire si j'avais ce problème à résoudre : un tableau (ou plus simple : une liste) de chaines dans lesquelles je vais mettre chacun des mots lus dans le fichier "dico français", deux autres pour les fichiers "dico espagnol" et "dico anglais", j'initialise trois compteurs de "score" permettant de savoir dans quel fichier j'ai trouvé le plus de mots de mon texte, puis je parcours le texte (fichier "texte à analyser" passé en paramètre) et pour chaque mot du texte, je vais voir dans chacun des dicos si je trouve le mot (auquel cas j'incrémente le "score" associé).

Soit, à prévoir :

- trois listes chainées

- trois compteurs

- une méthode de lecture de fichier et de découpage mot à mot

- une boucle de chargement de fichier dico (qu'on lancera 3 fois)

- une boucle de lecture du fichier à étudier, mot à mot lui aussi

... le reste, c'est de l'emballage.

Lien vers le commentaire
Partager sur d’autres sites

Dans le domaine des jeux on appelle ça un COMBO!

Bon, alors là j'ai peur!! j'ai compris ta méthode, mais alors tes chaînes et tes autres commandes, je m'y perd un peu.

J'aurais pensé à :

 

**3 listes de mots les plus couramment utilisés en Français, Espagnol et Anglais

**Le programme va compter (comme pour la création des listes) les caractères les plus utilisés du "texte à analyser" .

**On peut comparer les mots obtenu du texte et ceux de la liste (faisable si ils sont sous forme de tableau, non?)

**Lorsqu'IL a trouver des mots en commun, il a déterminé la langue d'un texte!

 

Pour les commandes, je ne sais pas lesquelles utiliser et comment les utiliser... C'est là où j'ai besoin de vous.

merci encore une fois

Lien vers le commentaire
Partager sur d’autres sites

Le programme va compter (comme pour la création des listes) les caractères les plus utilisés du "texte à analyser"
Tu fais ça en te basant sur les caractères ? OK... Pourquoi pas...
Pour les commandes, je ne sais pas lesquelles utiliser et comment les utiliser...
A mon avis, celle qui va le plus te servir, c'est strcmp (ou strcasecmp), qui se trouve dans string.h

Pour ce qui est de "comment les utiliser", soit tu disposes des pages MAN, soit tu te réfères au "K&R" qui est la bible de tout programmeur en C...

Tu as quelle expérience en programmation C, pour l'instant ? (pour savoir jusqu'à quel niveau de détail il faut approfondir pour t'expliquer "comment les utiliser"...)

Lien vers le commentaire
Partager sur d’autres sites

Tu fais ça en te basant sur les caractères ? OK... Pourquoi pas...

A mon avis, celle qui va le plus te servir, c'est strcmp (ou strcasecmp), qui se trouve dans string.h

Pour ce qui est de "comment les utiliser", soit tu disposes des pages MAN, soit tu te réfères au "K&R" qui est la bible de tout programmeur en C...

Tu as quelle expérience en programmation C, pour l'instant ? (pour savoir jusqu'à quel niveau de détail il faut approfondir pour t'expliquer "comment les utiliser"...)

482464[/snapback]

Alors pour te renseigner, tu vois une bille? he ben je suis pareil!

je suis vraiment débutant. string.h c'est une bibliothèque non?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...