Generische Klassenbibliothek - Bugs, Beschreibung, Fragen, Nutzungsmöglichkeiten und Vorschläge - Seite 7

 
Ich sollte hinzufügen, dass ich in der Lösung zwei Funktionen und ein Array verwendet habe. Es gibt keine Zeiger oder Verbindungen.
 
Tag Konow:
Es gibt eine Lösung. Aber um die Spannung vorübergehend aufrechtzuerhalten, möchte ich hier einen Auszug veröffentlichen. Außerdem werden diese Fachleute die Leistung meiner Lösung mit der des oben genannten Autors vergleichen. Ich frage mich, was schneller geht.

Ich habe es überprüft, es ist schneller als die Version von Vasiliy. Auf meinem Rechner ist er ~3,2 Mal schneller. Wenn du es schaffst, es zu beschleunigen, komm vorbei.

 
fxsaber:

Ich habe es überprüft, es ist schneller als die Version von Vasiliy. Auf meinem Rechner ist er ~3,2 Mal schneller. Wenn du es schaffst, es zu beschleunigen, komm vorbei.

OK, danke. Vielleicht wird jemand anderes die Objektivität überprüfen.
 
fxsaber:

Ich habe es überprüft, es ist schneller als die Version von Vasiliy. Auf meinem Rechner ist er ~3,2 Mal schneller. Wenn du es schaffst, es zu beschleunigen, komm vorbei.

Können Sie uns mehr darüber erzählen, wie Sie es getestet haben?
 
ReTeg Konow:
Können Sie näher erläutern, wie Sie das überprüft haben?
Vielleicht ist das Eingabefeld zu langsam. Ich werde eine Version ohne sie machen. Wie die von Vasiliy im Drehbuch.
 
Tag Konow:
Können Sie näher erläutern, wie Sie das getestet haben?

Noch nicht. Genau wie Sie möchte ich die Intrige am Leben erhalten.

 
Re-tag Konow:
Vielleicht ist das Eingabefeld zu langsam. Ich werde eine Version ohne sie machen. Wie die von Vasiliy im Drehbuch.

Schreiben Sie hier offenen Quellcode. Alle folgenden Exeshniks werden hier gelöscht. Dies ist kein Wettbewerb.

 
Artyom Trishkin:

Schreiben Sie den Open-Source-Code hier. Alle nachfolgenden Bindestriche werden hier gelöscht. Dies ist kein Wettbewerb.

Ja, ich wollte es gerade veröffentlichen.

 

So sieht es aus:

//+------------------------------------------------------------------+
//|                                                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");
  }
//+------------------------------------------------------------------+
 
Ich musste die Größe des Arrays erhöhen, weil Großbuchstaben einen anderen Code haben und aus dem Array "herausfallen".