Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1040

 
Bonjour, je n'arrive pas à comprendre la question suivante, lorsque je compile l'indicateur, j'obtiens toujours des valeurs différentes. Existe-t-il un moyen de vérifier si l'appel de l'indicateur iCustom fonctionne ? Je soupçonne que certains indicateurs n'ont pas le temps de se charger, c'est pourquoi leurs signaux rebondissent. Existe-t-il un moyen de vérifier si iCustom a été chargé correctement ???
 
LRA:

Ekburg! !! Tous les avertissements doivent être éliminés. Le premier avertissement signifie que l'instruction n'a aucun effet - rejetée par le compilateur - ce qui est mauvais. Le dernier avertissement signifie que la taille d'une variable locale (tableau) dépasse 512kB et n'a donc aucun effet - c'est dommage. Le reste des avertissements - une variable non initialisée pourrait être utilisée. C'est comme quand on oublie de mettre de l'argent sur la carte et qu'on essaie de le dépenser. Nous devons vérifier toutes les branches du programme. Parfois, le compilateur est sur-assuré. Dans ce cas, vous devez le déclarer comme suit : int x=0 ; string y="" ; bool z=false ;

premier et dernier avertissement éliminés.

ok, c'est bon, je vais essayer)

 
LRA:

Ekburg! !! Tous les avertissements doivent être éliminés. Le premier avertissement signifie que l'opérateur n'a aucun effet - écarté par le compilateur - ce qui est mauvais. Le dernier avertissement est que la taille de la variable locale (tableau) dépasse 512kB et n'a donc aucun effet - c'est dommage. Le reste des avertissements - une variable non initialisée pourrait être utilisée. C'est comme quand on oublie de mettre de l'argent sur la carte et qu'on essaie de le dépenser. Nous devons vérifier toutes les branches du programme. Parfois, le compilateur est sur-assuré. Dans ce cas, vous devez le déclarer comme suit : int x=0 ; string y="" ; bool z=false ;

J'ai assigné des zéros aux variables pendant l'initialisation, les avertissements ont disparu, mais qu'en est-il des tableaux ?

Et ce n'est pas à l'endroit de sa déclaration, mais là où il est utilisé à la fin, où se trouve la sortie du tableau via la fonction print.

 
Ekburg:

J'ai assigné des zéros aux variables pendant l'initialisation, les avertissements ont disparu, mais qu'en est-il des tableaux ?

Et ce n'est pas l'endroit où il est déclaré, c'est l'endroit où il est utilisé à la fin, où la sortie du tableau se fait via la fonction print.

Imprimer non pas par un mais par deux ou trois imprimeurs... ou mieux dans une boucle, la variable est formée très grande...
 
Tecuciztecatl:
sortir deux ou trois impressions au lieu d'une seule... ou mieux dans une boucle, la variable est formée très grande...

Je le fais déjà en bouclant...(

for(int z=0;z<6;z++)
      {
      Print("О!!!   ",z,"   Кол-во  = ",Info[z][0],"; Кол-во B = ",Info[z][1],"; Кол-во S = ",Info[z][2],"; Максимальное отклонение = ",Info[z][3],"; Среднее отклонение = ",Info[z][4]);
      Print("B!!!   ",z,"   Кол-во + = ",BI[z][0],"; Кол-во - = ",BI[z][1],"; Общий объём = ",BI[z][2],"; Средний объём = ",BI[z][3],"; Мах просадка = ",BI[z][4],"; Средняя просадка = ",BI[z][5]);
      Print("S!!!   ",z,"   Кол-во + = ",SI[z][0],"; Кол-во - = ",SI[z][1],"; Общий объём = ",SI[z][2],"; Средний объём = ",SI[z][3],"; Мах просадка = ",SI[z][4],"; Средняя просадка = ",SI[z][5]);
      }

J'ai souligné en rouge où le compilateur se réfère.

 

diviser chaque empreinte en 2-3 empreintes... bien que ce soit étrange... quels sont les types de données dans le tableau ?

J'ai essayé de cette façon, ça marche :

double Info[6][6],BI[6][6],SI[6][6];

for(int z=0;z<6;z++)
      {
      Print("О!!!   ",z,"   Кол-во  = ",Info[z][0],"; Кол-во B = ",Info[z][1],"; Кол-во S = ",Info[z][2],"; Максимальное отклонение = ",Info[z][3],"; Среднее отклонение = ",Info[z][4]);
      Print("B!!!   ",z,"   Кол-во + = ",BI[z][0],"; Кол-во - = ",BI[z][1],"; Общий объём = ",BI[z][2],"; Средний объём = ",BI[z][3],"; Мах просадка = ",BI[z][4],"; Средняя просадка = ",BI[z][5]);
      Print("S!!!   ",z,"   Кол-во + = ",SI[z][0],"; Кол-во - = ",SI[z][1],"; Общий объём = ",SI[z][2],"; Средний объём = ",SI[z][3],"; Мах просадка = ",SI[z][4],"; Средняя просадка = ",SI[z][5]);
      }
 
Ekburg: en bouclant la sortie...
Montrez la déclaration du tableau et expliquez pourquoi c'est le cas. Pourquoi en deux dimensions, pourquoi cette taille, combien d'éléments sont réellement utilisés, quelle est la marge et pour quoi faire ?
 
LRA:
Veuillez montrer la déclaration du tableau et expliquer pourquoi il en est ainsi. Pourquoi en deux dimensions, pourquoi cette taille, combien d'éléments sont réellement utilisés, quelle est la marge et pour quoi faire ?

   double Info[6][5];
   double BI[6][7];
   double SI[6][7];

Ils sont déclarés au début du script, puis remplis progressivement avec l'exécution du code.

Peut-être que le problème est que certains calculs produisent des valeurs avec beaucoup de zéros ? Peut-être ont-ils besoin d'être normalisés ?

 

Les gars, voici un conseil. L'indicateur appelle d'autres indicateurs. Comment faire en sorte que l'exécution de l'indicateur principal ne fonctionne qu'après le chargement de toutes les valeurs des autres indicateurs. L'indicateur d'enfilage ne fonctionne pas, que faire ???? Comment vérifier que les données des autres indicateurs sont chargées et que vous pouvez lancer le calcul ????.

Parce que lors de la compilation lors de l'apparition de la prochaine barre saute, certaines données sont prises pour une ancienne barre, d'autres pour une nouvelle, en tenant compte que j'utilise différents symboles, il s'avère que certains du symbole n'est pas mis à jour, et les données viennent pour la barre précédente. Comment synchroniser que tous les symboles ont une nouvelle barre et peuvent faire des calculs ?

 
Bonjour les professionnels, malheureusement personne ne m'a répondu, Quelles modifications doivent être apportées au code pour produire les mêmes résultats, mais deux barres plus tôt ? Ou est-ce impossible ?