Bibliothèque de classes génériques - bogues, description, questions, caractéristiques d'utilisation et suggestions - page 7

 
Je dois ajouter que j'ai utilisé deux fonctions et un tableau dans la solution. Il n'y a pas de pointeurs ou de connexions.
 
Tag Konow:
Il existe une solution. Cependant, pour maintenir temporairement l'intrigue, j'aimerais publier l'extrait ici. En outre, ces personnes qualifiées compareront les performances de ma solution et de la solution fournie par l'auteur ci-dessus. Je me demande lequel fonctionne le plus vite.

J'ai vérifié, c'est plus rapide que la version de Vasiliy. Sur ma machine, ~3,2 fois plus rapide. Si vous parvenez à l'accélérer, passez nous voir.

 
fxsaber:

J'ai vérifié, c'est plus rapide que la version de Vasiliy. Sur ma machine, ~3,2 fois plus rapide. Si vous parvenez à l'accélérer, passez nous voir.

OK, merci. Peut-être que quelqu'un d'autre vérifiera l'objectivité.
 
fxsaber:

J'ai vérifié, c'est plus rapide que la version de Vasiliy. Sur ma machine, ~3,2 fois plus rapide. Si vous parvenez à l'accélérer, passez nous voir.

Pouvez-vous nous en dire plus sur la façon dont vous l'avez testé ?
 
ReTeg Konow:
Pouvez-vous préciser comment vous avez vérifié ?
Peut-être que le champ de saisie ralentit. Je vais faire une version sans. Comme celui de Vasiliy dans le script.
 
Tag Konow:
Pouvez-vous préciser comment vous l'avez testé ?

Pas encore. Comme vous, je veux garder l'intrigue vivante.

 
Réétiquettez Konow:
Peut-être que le champ de saisie ralentit. Je vais faire une version sans. Comme celui de Vasiliy dans le script.

Écrivez un code source ouvert ici. Tous les exeshniks suivants seront supprimés ici. Il ne s'agit pas d'un concours.

 
Artyom Trishkin:

Écrivez le code source ouvert ici. Toutes les exhortations ultérieures seront supprimées. Il ne s'agit pas d'un concours.

Oui, j'étais sur le point de le poster.

 

Voilà à quoi ça ressemble :

//+------------------------------------------------------------------+
//|                                                Dictiuonary 2.mq5 |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Peter Konow"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#define  Max_possible_collisions    100
#define  Max_letters_in_word        100
#define  All_letters_in_alphabet    255
//------------------------------------
string Dictionary[Max_possible_collisions][All_letters_in_alphabet][Max_letters_in_word];
//-------------------------------------------------------------------

//+------------------------------------------------------------------+

void Add(string word)
{
 uchar First_letter = (uchar)StringGetCharacter(word,0) - 97;
 //-----------------------
 int All_letters_in_word = StringLen(word);
 //-----------------------
 for(int a1 = 0; a1 < Max_possible_collisions; a1++)
   {
     string word_inside = Dictionary[a1][First_letter][All_letters_in_word];
     //-----------------------   
    if(word_inside == NULL)
      {
       Dictionary[a1][First_letter][All_letters_in_word] = word;
       Print("Your word has been added to our dictionary!");
       break;
      }
    if(word_inside == word)
      {
       Print("This word already exists in our dictionary");
       break;
      } 
   }   
 //------------------------   
}
//--------------------------------------------------------------------+

//--------------------------------------------------------------------+

void OnStart()
  {
   //---
   Add("Text 1");
   
   Add("Text 1");
  }
//+------------------------------------------------------------------+
 
J'ai dû augmenter la taille du tableau parce que les lettres majuscules ont un code différent et " sortent " du tableau.