¿Entiendes el concepto de arrays, verdad? ¿Una variable con múltiples índices?
Todo lo que hace la inicialización es establecer un valor inicial para todos los índices.
Usted puede establecer un valor a cada índice por separado como en los ejemplos que usted ha publicado o,
si quieres que el valor inicial sea el mismo para todos los índices puedes introducir el valor una vez así,
int myarray[100]={0}; //initializes all 100 indexes to value zero
o,
int myarray[100][5]={-1}; //multi dimensions, initializes all 500 indexes to -1.
También ten en cuenta que hay algunos errores en el libro de mql4. Creo que en el segundo ejemplo cuando dice,
"En la secuencia inicializada se pueden omitir una o varias constantes. En tal caso los elementos correspondientes de los arrays de tipo numérico se inicializan por cero, los elementos de los arrays de tipo cadena se inicializan por el valor de la cadena "" (comillas sin espacio), es decir por una línea vacía (no debe confundirse con un espacio)."
y luego muestra este ejemplo,
string Mas_s[4] = {"a","b", ,"d"}; // String array
que probablemente era lo que se pretendía:
string Mas_s[4] = {"a","b","","d"}; // String arraytambién dice en alguna parte del libro "todos los arrays son de tipo estático por defecto" eso también es un error son como otras variables, no son estáticas a menos que se definan como estáticas, excepto cuando son globales.
¿Entiendes el concepto de arrays, verdad? ¿Una variable con múltiples índices?
Todo lo que hace la inicialización es establecer un valor inicial para todos los índices.
Si quieres que el valor inicial sea el mismo para todos los índices puedes introducir el valor una vez así
int myarray[100] {0} //inicializa los 100 índices al valor cero.
A la derecha
Todavía estoy un poco confundido.
Así que si tengo un array
Double myarray[100]
He declarado el tipo de Array (double), el nombre del Array (myarray) y el número de índices (100) .
¿Se puede asignar el valor de la matriz MyArray utilizando Double myarray[100] = {1, 2, 3, ....}, de modo que myarray[1]=1 y myarray[2]=2 ect.
Hasta ahora sólo he construido arrays con el fin de coger valores de los bucles e incluso entonces el array se utilizaba de forma muy poco precisa.
Gracias, señalar ese error me ha aclarado una pequeña duda que tenía.
El primer índice del array es cero por lo que si haces
double myarray[100] = {1,2,3 .....};
que hará, mi matriz[0] == 1, mi matriz[1] ==2 etc
Ah, sí, de acuerdo.
Entonces, ¿qué pasa si tengo un Array multidimensional
Double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} (perdón, me di cuenta de que usé enteros antes)
¿Cómo puedo llamar a un valor?
¿Cuál sería el valor?
Double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5}
Mi matriz[1][3]=?
tienes un array de 3 x 4
double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} ;
se llenaría así
Mi matriz[0,0] = 0,1;
Mi matriz[0,1] = 0,2;
Mi matriz[0,2] = 0,3;
Mi matriz[0,3] = 0,4;
Mi matriz[1,0] = 0,5;
Mi matriz[1,1] = 0,0;
Mi matriz[1,2] = 0,0;
etc.
Ahora mismo no tengo ni idea..
¿No es Myarray[3][4] multidimensional, si es así por qué sólo puedo llamar a los valores cambiando el valor de una de las dimensiones?
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
He estado aprendiendo sobre arrays en la guía de mql4, y me he encontrado con un tema con el que estoy teniendo problemas; la inicialización de los arrays es un poco desconcertante no entiendo la siguiente declaración
"
Inicialización de arrays
Un array sólo puede ser inicializado por constantes de un tipo correspondiente. Los arrays unidimensionales y multidimensionales se inicializan mediante una secuencia unidimensional de constantes separadas por comas. La secuencia se incluye entre corchetes:
"
No me confunde el hecho de que un array sólo pueda ser inicializado por constantes de un tipo correspondiente, pero sí me confunde el concepto de inicialización de un array y el hecho de que una secuencia unidimensional pueda iniciar un array multidimensional.
Me confunde lo siguiente.
"
En la secuencia inicializada se pueden omitir una o varias constantes. En tal caso los elementos correspondientes de los arrays de tipo numérico se inicializan por cero, los elementos de los arrays de tipo cadena se inicializan por el valor de la cadena "" (comillas sin espacio), es decir, por una línea vacía (no debe confundirse con un espacio). El siguiente programa muestra los valores de las matrices, inicializados por una secuencia con omisión de algunos valores (script arrayalert.mq4):
"
Al final no estoy entendiendo el concepto de inicialización de arrays.