Effacement d'un tableau d'élément(s) défini(s) - page 6

 
TheXpert:
L'un a 42 produits, l'autre 6, l'autre 30. J'ai peur d'imaginer quel trou du cul il y a à l'intérieur avec des questions et des réponses comme ça.
+1000500
 
Реter Konow:

Désolé. On dirait que les lignes doivent être inversées :

Avez-vous essayé de courir ? Même sans essai, vous pouvez constater qu'il n'y a pas de problème pour sortir du tableau lors de la copie.

if(deleted)Arr[a1] = Arr[a1 + deleted];
 
Sergey Chalyshev:
+1000500

Le cirque est déjà parti.

 
Dmitry Fedoseev:

Il faut que nous ayons les bases.

C'est le point principal,

vous devez adopter la bonne approche (stratégie) pour résoudre le problème.

 
Dmitry Fedoseev:

Le cirque est déjà parti.

Parti où ? Comme un cirque ?

Je ne pense pas qu'il aille quelque part, et s'il le fait, ce ne sera pas pour longtemps et il reviendra à coup sûr).

 
Konstantin Nikitin:

Avez-vous essayé de courir ? Même sans essai, vous pouvez dire qu'il n'y aura pas de problème pour sortir du tableau lors de la copie.

Juste une seconde. Je vérifie ma solution. Je note juste ce qui me passe par la tête. Je vais vérifier.

 
//+------------------------------------------------------------------+
//|                                             Erase and Resize.mq5 |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Peter Konow"
#property link      "https://www.mql5.com"
#property version   "1.00"
//--------------------------------------------------------------------
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int Arr[20] = {1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2};
   ulong q1 = GetMicrosecondCount(); 
   //--------------------------------
   int deleted = 0,q = 0;
   //-------------- 
   for(int a1 = 0; a1 < ArraySize(Arr); a1++)
     {
      if(deleted)Arr[q] = Arr[q + deleted];
      if(Arr[q] == 3){deleted++; q--;}
      q++;
     }
   //--------------
   ulong q2 = GetMicrosecondCount(); 
   //--------------------------------
   //ArrayResize(Arr, ArraySize(Arr) - deleted);    
   //--------------------------------
   Print(Arr[0],",",Arr[1],",",Arr[2],",",Arr[3],",",Arr[4],",",Arr[5],",",Arr[6],",",Arr[7],",",Arr[8],",",Arr[9],
        ",",Arr[10],",",Arr[11],",",Arr[12],",",Arr[13],",",Arr[14],",",Arr[15],",",Arr[16],",",Arr[17],",",Arr[18],",",Arr[19]);
   Print("Array new size  ",ArraySize(Arr),"  Тime of operation  ",q2-q1,"  deleted  ",deleted);
   //--------------------------------  
  }
//+------------------------------------------------------------------+
2018.11.13 13:49:15.813 Erase and Resize (USDJPY,H1)    Array new size  20  Тime of operation  1  deleted  6
2018.11.13 13:49:15.813 Erase and Resize (USDJPY,H1)    1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,3,1,2  <--------------последние шесть цифр остались неизмененными, потому что не сделал АrrayResize;
Discover new MetaTrader 5 opportunities with MQL5 community and services
Discover new MetaTrader 5 opportunities with MQL5 community and services
  • www.mql5.com
Ask questions on technical analysis, discuss trading systems and improve your MQL5 programming skills to develop your own trading strategies. Communicate and share your experience with traders from anywhere in the world, answer questions and help beginners — MQL5.community is developing along with you. How to avoid opening of new order Hello...
 

La solution supprime tous les triples, mais ne supprime pas les chiffres à la fin, car ces chiffres devraient disparaître lors de ArrayResize.

En d'autres termes, les derniers chiffres sont ceux qui ne font pas partie du tableau modifié. Je n'ai juste pas faitun ArrayResize.

 
Реter Konow:

Qu'est-ce qu'il y a à dire ?

Print(Arr[0],",",Arr[1],",",Arr[2],",",Arr[3],",",Arr[4],",",Arr[5],",",Arr[6],",",Arr[7],",",Arr[8],",",Arr[9],
        ",",Arr[10],",",Arr[11],",",Arr[12],",",Arr[13],",",Arr[14],",",Arr[15],",",Arr[16],",",Arr[17],",",Arr[18],",",Arr[19]);
Peut-être que c'est encore plus raffiné de salir le forum avec du shitcod.
 
Sergey Dzyublik:

Qu'est-ce qu'il y a à dire ?

Peut-être comment il serait encore plus raffiné de salir le forum avec de la merde.

Avez-vous une solution plus rapide ?

Comme j'aime rabaisser les gens qui font une fixation sur la forme plutôt que sur le fond. C'est un plaisir.)

Raison: