Apprendre les langues arabe et française
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -14%
Apple MacBook Air (2020) 13,3″ Puce Apple M1 ...
Voir le deal
799 €

Projet de dictionnaires arabes

4 participants

Page 76 sur 90 Précédent  1 ... 39 ... 75, 76, 77 ... 83 ... 90  Suivant

Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Adel Medine Mer 24 Déc - 20:01

Pour finaliser avec les static et les méthodes d'extensions de Linq.

La méthode static Contains que j'ai écris est superflue. En fait je ne fais rien d'autres dedans que d'utiliser le Contains de Linq. Du coup on peut supprimer cette méthode et remplacer par ces 2 lignes de code en appelant directement le Contains de Linq (qui est une méthode d'extension)

Code:
Console.WriteLine( "{0} {1} {2}", unvocalizedText.Contains(subString) ? "found" : "not found", subString, " in unvocalized " + unvocalizedText);                               
                
Console.WriteLine( "{0} {1} {2}", vocalizedText.WithoutVowel().Contains(subString) ? "found" : "not found", subString, " in vocalized " + vocalizedText);                          


Dernière édition par Adel Medine le Mer 24 Déc - 21:04, édité 1 fois

Adel Medine

Messages : 643
Points : 655
Date d'inscription : 09/09/2013

Revenir en haut Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Adel Medine Mer 24 Déc - 20:10

J'ai recopié ton code dans un autre éditeur en ligne car le tien ne semble pas faire le C#.Cela permettra de mieux comparer les performances entre les solutions puisque exécuté sur un même environnement. Regarde le temps à la compilation, exécution et la mémoire utilisée

Voici le lien http://rextester.com/live/BEDE9074
Il y a quelques problèmes de caractères à priori dans le résultat. Un mauvais copier/coller depuis la source, tu pourras facilement remplacer.

Adel Medine

Messages : 643
Points : 655
Date d'inscription : 09/09/2013

Revenir en haut Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Ibn Nacer Mer 24 Déc - 21:29

Oui effectivement ça a l'air vraiment énorme ce qu'on peut faire apparemment inchâ-a Allâh. En gros tu ajoutes une méthode à la classe string, c'est ça ? Et ce sans avoir eu recourt à une classe dérivée de la classe string ? Je ne connaissais pas en tout cas, je ne sais pas si il y a ça en Java...

Adel Medine a écrit:Il y a un petit bug dans mon code mais qui n'influence pas le résultat avec ce jeu de tests. Est-ce que tu pourras le trouver ?

EDIT : je me suis aperçu après que ce n'était pas une copie à chaque fois mais le même lien. Du coup j'ai retiré le bug qui s'y trouvait. Revoici le code avec le bug
Code:
static string WithoutVowel(this string targetText)
        {
            string textWithoutVowel = new string(targetText.ToCharArray());
            
            textWithoutVowel .ToList().ForEach(character=>
                            {
                                if(_vowels.Contains(character) != true)
                                {
                                    textWithoutVowel +=  character;
                                }
                            });
            
            return textWithoutVowel;
        }

Je vois l'ancienne version pour l'instant, pourquoi transformer targetText en un tableau de char, je pensais que c'était déjà une string...

Je comprenais mieux l'ancienne version, là cela me semble étrange : textWithoutVowel devrait être vide au début puisque tu ajoutes dedans au fur et à mesure les caractères qui ne sont pas des voyelles.

C'est-à-dire que pour : textWithoutVowel += character; cela devrait être une autre string sinon cela veut dire que tu lis et écrit dans la même string, non ?


Ibn Nacer

Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011

Revenir en haut Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Ibn Nacer Mer 24 Déc - 22:52

Ah je suis dégouté !!! Le forum a eu un bug apparemment et j'ai perdu un long message...

Ibn Nacer

Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011

Revenir en haut Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Ibn Nacer Mer 24 Déc - 23:00

Adel Medine a écrit:J'ai recopié ton code dans un autre éditeur en ligne car le tien ne semble pas faire le C#.Cela permettra de mieux comparer les performances entre les solutions puisque exécuté sur un même environnement. Regarde le temps à la compilation, exécution et la mémoire utilisée

Voici le lien http://rextester.com/live/BEDE9074
Il y a quelques problèmes de caractères à priori dans le résultat. Un mauvais copier/coller depuis la source, tu pourras facilement remplacer.

Si, l'autre fait aussi le C# tu peux sélectionner le langage en bas à gauche mais ce nouveau site a l'air aussi bien et il ajoute des choses apparemment comme la consommation mémoire si j'ai bien compris...

Sinon il y a une différence entre les deux codes (celui que tu as écrit et celui que j'ai écrit) toi apparemment tu utilises l'autre solution dont j'avais parlée à savoir commencer par dé-vocaliser le texte sur lequel on effectue la recherche pour pouvoir ensuite utiliser les méthodes classiques de recherche.

Cela marche bien si le texte est court mais si il est long la dé-vocalisation sera plus longue et la consommation mémoire plus importante puisque à un moment donné on se retrouve avec une copie de ce texte sans les voyelles.

Imagine que tu cherches toutes les occurrences d'un mot dans le texte en appuyant classiquement sur la touche F2 pour aller d'une occurrence à une autre eh bien à chaque fois il faudra refaire une recherche dans laquelle on devra dé-vocaliser le texte entier et en avoir une copie temporaire sans les voyelles.

C'est vrai qu'on pourrait avoir une copie sans les voyelles comme variable qui existerait durant toute l’exécution du programme afin d'éviter de devoir dé-vocaliser le texte entier à chaque recherche mais même là il y aura une consommation de mémoire plus ou moins importante sachant que ce texte pourrait être le noble Qur'ân.


Une autre solution est de récrire la méthode indexOf afin de l'adapter aux textes vocalisés arabes, c'est la solution que j'ai essayé de faire mais je me suis rendu compte qu'il un défaut à corriger inchâ-a Allâh.

Et il y a aussi les regex mais pour ce cas cela ne sera peut-être pas plus rapide...

Wa Allâh a'lam.

Wa Allâhu a'lam.

Ibn Nacer

Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011

Revenir en haut Aller en bas

Projet de dictionnaires arabes - Page 76 Empty Re: Projet de dictionnaires arabes

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 76 sur 90 Précédent  1 ... 39 ... 75, 76, 77 ... 83 ... 90  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum