Vous comprenez le concept de tableau, n'est-ce pas ? Une variable avec plusieurs index ?
L'initialisation ne fait que définir une valeur de départ pour tous les index.
Vous pouvez définir une valeur pour chaque indice séparément comme dans les exemples que vous avez postés,
si vous voulez que la valeur initiale soit la même pour tous les index, vous pouvez entrer la valeur une seule fois comme ceci,
int myarray[100]={0}; //initializes all 100 indexes to value zero
ou,
int myarray[100][5]={-1}; //multi dimensions, initializes all 500 indexes to -1.
Sachez également qu'il y a quelques erreurs dans le livre mql4. Je pense que dans le deuxième exemple, quand il est dit,
"Dans la séquence initialisée, une ou plusieurs constantes peuvent être omises. Dans ce cas, les éléments correspondants des tableaux de type numérique sont initialisés par zéro, les éléments des tableaux de type chaîne sont initialisés par la valeur "" (guillemets sans espace), c'est-à-dire par une ligne vide (à ne pas confondre avec un espace)."
et montre ensuite cet exemple,
string Mas_s[4] = {"a","b", ,"d"}; // String array
c'était probablement le but recherché :
string Mas_s[4] = {"a","b","","d"}; // String arrayil est également dit quelque part dans le livre que "tous les tableaux sont de type statique par défaut", ce qui est également une erreur ; ils sont comme les autres variables, non statiques à moins d'être définis comme statiques, sauf lorsqu'ils sont globaux.
Vous comprenez le concept de tableau, n'est-ce pas ? Une variable avec plusieurs index ?
L'initialisation ne fait que définir une valeur de départ pour tous les index.
Si vous voulez que la valeur de départ soit la même pour tous les index, vous pouvez entrer la valeur une seule fois comme ceci
int myarray[100] {0} //initialise les 100 index à la valeur zéro.
Droit
Je suis encore un peu confus.
Donc, si j'ai un tableau
Double myarray[100]
J'ai déclaré le type de tableau (double), le nom du tableau (myarray) et le nombre d'index (100).
La valeur du tableau MyArray peut-elle être attribuée en utilisant Double myarray[100] = {1, 2, 3, ....}, de sorte que myarray[1]=1 et myarray[2]=2, etc.
Jusqu'à présent, je n'ai construit des tableaux que dans le but de récupérer des valeurs dans des boucles, et même dans ce cas, le tableau était utilisé de manière très libre.
Merci de m'avoir signalé cette erreur et d'avoir répondu à une question mineure que je me posais.
Le premier indice du tableau est zéro donc si vous faites,
double myarray[100] = {1,2,3 .....} ;
cela fera, mon tableau[0] == 1, mon tableau[1] ==2 etc...
Ah oui, d'accord.
Et si j'avais un tableau multidimensionnel ?
Double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} (désolé, j'ai remarqué que j'ai utilisé des entiers plus tôt)
Comment puis-je appeler une valeur ?
vous l'appelez comme myarray[index,index] ; ou myarray[index][index] ; fait la même chose.
val = myarray[2,2] ; //obtient la valeur du tableau index 2,2 et la met dans val.
Print(myarray[2,2]) ; //imprime la valeur.
Alert(mon tableau[2][2]) ; //l'annonce
Quelle serait la valeur ?
Double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5}
Myarray[1][3]= ?
vous avez un tableau de 3 x 4
double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} ;
il se remplirait comme ceci
Myarray[0,0] = 0.1 ;
Mon tableau [0,1] = 0.2 ;
Mon tableau [0,2] = 0,3 ;
Mon tableau [0,3] = 0,4 ;
Ma matrice [1,0] = 0,5 ;
Mon tableau [1,1] = 0,0 ;
Mon tableau [1,2] = 0,0 ;
etc
Je ne sais pas quoi faire...
Mon tableau[3][4] n'est-il pas multidimensionnel ? Si oui, pourquoi ne puis-je appeler des valeurs qu'en changeant la valeur d'une des dimensions ?
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
J'ai appris à connaître les tableaux à partir du guide mql4, et je suis tombé sur un sujet qui me pose problème ; l'initialisation des tableaux est légèrement déconcertante. Je ne comprends pas l'énoncé suivant
"
Initialisation des tableaux
Un tableau ne peut être initialisé que par des constantes de type correspondant. Les tableaux unidimensionnels et multidimensionnels sont initialisés par une séquence unidimensionnelle de constantes séparées par des virgules. La séquence est incluse entre des crochets :
"
Je ne suis pas confus par le fait qu'un tableau ne peut être initialisé que par des constantes d'un type correspondant, mais je suis confus par le concept d'initialisation de tableau et le fait qu'une séquence unidimensionnelle peut initier un tableau multidimensionnel.
Je suis confus par ce qui suit.
"
Dans la séquence initialisée, une ou plusieurs constantes peuvent être omises. Dans ce cas, les éléments correspondants des tableaux de type numérique sont initialisés par zéro, les éléments des tableaux de type chaîne sont initialisés par la valeur "" (guillemets sans espace), c'est-à-dire par une ligne vide (à ne pas confondre avec un espace). Leprogramme suivant affiche les valeurs des tableaux, initialisés par une séquence avec omission de certaines valeurs (script arrayalert.mq4):
"
En fin de compte, je ne saisis pas le concept d'initialisation des tableaux.