Einzelnen Beitrag anzeigen
  #9 (permalink)  
Alt 10.04.20
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Mich wundert schon mal, dass das der Compiler nicht moniert:

int SeondDataArray[5][3]={{,7,3},
{,3,1},
{,57,14},
{,12,4},
{,11,1}
};

Da werden einem zweidimensionelen Array Wertepaare einer dreidimensionalen Struktur zugewiesen. Das sollt eigentlich nicht gehen.

Um es mal auszuschreiben, welche Array-Variablen es tatsächlich gibt:
SeondDataArray[0][0]
SeondDataArray[0][1]
SeondDataArray[0][2]
SeondDataArray[1][0]
SeondDataArray[1][1]
SeondDataArray[1][2]
SeondDataArray[2][0]
SeondDataArray[2][1]
SeondDataArray[2][2]
SeondDataArray[3][0]
SeondDataArray[3][1]
SeondDataArray[3][2]
SeondDataArray[4][0]
SeondDataArray[4][1]
SeondDataArray[4][2]

Das sind insgesamt 15 Variablen, denen Werte zugewiesen werden sollten.

Was wird da eigentlich bei Deiner Schreibweise in das Array geschrieben?


Print("i=",IntegerToString(i),
" {",IntegerToString(SeondDataArray[i][0]), //1stDimension
",",IntegerToString(SeondDataArray[i][1]), //2ndDimension
",",IntegerToString(SeondDataArray[i][2]),"}" //3rdDimension
);

Das ist nicht die 1. - 3. Dimension, sondern das 1. - 3. Element der 2. Dimension.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.