Inizializzazione delle matrici - pagina 3

 
MetaNt:


Questo mi ricorda una matrice...

per l'array degli ordini, avete detto 0=acquisto e 1=vendita

quindi come potrei inizializzarlo?

OrdersArray[10,2] = {.......}{...} ?

Penso che sia esattamente come le matrici

Lo inizializzi con una serie di parentesi graffe e tanti valori quanti ne puoi inserire nell'array o solo un valore per l'intero array e poi aggiungi i valori effettivi in seguito.

Sì, ho detto che buy e sell sono 0 e 1 perché quando lavorate con gli ordini, gli ordertypes sono quei valori interi.

La maggior parte delle volte troverete il modo più semplice per inizializzare l'intero array ad un singolo valore (solo perché dovete inizializzarlo) e poi aggiungere i valori in seguito.

ordersarray[10,2] = {0};

Quando usate i cicli for con gli array, tutto avrà senso.

 
SDC:

Penso che sia esattamente come le matrici

Lo inizializzi con una serie di parentesi graffe e tanti valori quanti ne puoi inserire nell'array o solo un valore per l'intero array e poi aggiungi i valori effettivi in seguito.

Sì, ho detto che buy e sell sono 0 e 1 perché quando lavorate con gli ordini, gli ordertypes sono quei valori interi.

La maggior parte delle volte troverete il modo più semplice per inizializzare l'intero array ad un singolo valore (solo perché dovete inizializzarlo) e poi aggiungere i valori in seguito.

ordersarray[10,2] = {0};

Quando usate i cicli for con gli array, tutto avrà senso.


Ho notato qualcosa

Myarray [3][4] è multidimensionale ma guarda

Myarray [3][4] = {x,y,z}

È definito usando una forma unidimensionale, il che significa che per una delle dimensioni solo un valore è valido anche se la dimensione ne permette 4, così che Myarray [2,0]=z ma Myarray[2,1] = 0 e Myarray[0,2] anche = z.

 
SDC:

Penso che sia esattamente come le matrici

Lo inizializzi con una serie di parentesi graffe e tanti valori quanti ne puoi inserire nell'array o solo un valore per l'intero array e poi aggiungi i valori effettivi in seguito.

Sì, ho detto che buy e sell sono 0 e 1 perché quando lavorate con gli ordini, gli ordertypes sono quei valori interi.

La maggior parte delle volte troverete il modo più semplice per inizializzare l'intero array ad un singolo valore (solo perché dovete inizializzarlo) e poi aggiungere i valori in seguito.

ordersarray[10,2] = {0};

Quando usate i cicli for con gli array, tutto avrà senso.


Ho notato qualcosa

Myarray [3][4] è multidimensionale ma guarda

Myarray [3][4] = {x,y,z}

È definito usando una forma unidimensionale, il che significa che per una delle dimensioni solo un valore è valido anche se la dimensione ne permette 4, così che Myarray [2,0]=z ma Myarray[2,1] = 0 e Myarray[0,2] anche = z.

 
SDC:

"Nella sequenza inizializzata una o più costanti possono essere omesse. In tal caso i corrispondenti elementi di array di tipo numerico sono inizializzati da zero, gli elementi di array di tipo stringa sono inizializzati dal valore stringa "" (virgolette senza spazio), cioè da una riga vuota (non deve essere confusa con uno spazio)."

e poi mostra questo esempio,

string Mas_s[4] = {"a","b", ,"d"};           // String array

probabilmente è stato fatto apposta:

string Mas_s[4] = {"a","b","","d"};           // String array

Sì, nel primo esempio Mas_s[2] sarà inizializzato con 0

      string A[4] = {"a","b", ,"d"};
      string letters = "Array A =";           
      for(int x = 0;x<4;x++)
      letters +=A[x];
      Print(letters);
      
      string B[4] = {"a","b","" ,"d"};
      letters = "Array B =";           
      for(x = 0;x<4;x++)
      letters +=B[x];
      Print(letters);
      
      string C[4] = {"a","b"," " ,"d"};
      letters = "Array C =";           
      for(x = 0;x<4;x++)
      letters +=C[x];
      Print(letters);

Risultato


13:03:01 aaa CADJPY,H1: Matrice A =ab0d

13:03:01 aaa CADJPY,H1: Matrice B =abd

13:03:01 aaa CADJPY,H1: Matrice C =ab d

 
MetaNt:


Ho notato qualcosa

Myarray [3][4] è multi-dimensionale ma guarda

Myarray [3][4] = {x,y,z}

È definito utilizzando una forma unidimensionale, il che significa che per una delle dimensioni solo un valore è valido anche se la dimensione ne permette 4, così che Myarray [2,0]=z ma Myarray[2,1] = 0 e Myarray[0,2] anche = z.

sì, se riempite l'array in questo modo, lo riempie in modo sequenziale a partire dalla prima dimensione
 
SDC:
Sì, se riempi l'array in questo modo, lo riempie in modo sequenziale a partire dalla prima dimensione


quindi int myarray[2][2] = {1,2} riempirebbe

myarray[0,0]=1

myarray[1,0]=2

mioarray[0,0]=1

myarray[0,1]=2

come faresti a farlo usando un ciclo

Useresti le variabili i e j con limiti in accordo con la dimensione dell'array?

 

quindi dovrebbe riempirlo in questa sequenza

[0,0]

[0,1]

[0,2]

[0,3]

poi

[1,0]

[1,1]

[1,2]

[1,3]

allora

[2,0]

[2,1]

[2,2]

[2,3]

 
MetaNt:


quindi int myarray[2][2] = {1,2} riempirebbe

myarray[0,0]=1

myarray[1,0]=2

mioarray[0,0]=1

myarray[0,1]=2

come faresti a farlo usando un ciclo

Useresti le variabili i e j con limiti in accordo con la dimensione dell'array?

Sì, puoi sostituire le costanti dimensionali con una variabile

for(int i=0; i<2, i++)

{myarray[i,0] = ? // aggiungerebbe valori al 1°

}

 

si potrebbe anche fare nell'altro modo

for(i=0; i<2; i++)

{myarray[0,i] = ?

}

 
SDC:

si potrebbe anche fare nell'altro modo

for(i=0; i<2; i++)

{myarray[0,i] = ?

}


Grazie per aver chiarito questo punto, sembra davvero molto simile alle matrici.