|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
2-dimensionales Array?
Ich krieg das einfach nicht hin und wäre Euch dankbar, wenn Ihr mir helfen könntet.
Es geht hierbei um die Möglichkeit von Reihenfolgen. (Das Herausfinden einer Reihenfolge ist kein Problem.) Das Problem wird nachher der spätere Vergleich. Aufgabe: Ein Array initialisieren, das feste integer Werte enthält. Beispiel: Bei 2 Werten habe ich 2 Möglichkeiten, nämlich - erst 1, dann 2 - erst 2, dann 1 Ich kann also sagen, das 1 Array enthält 2 feste Werte, nämlich 1 und 2 und das 2. Array enthält 2 feste Werte, nämlich 2 und 1. Code:
int Array1[2]={1,2}; //2 Werte: 1 und 2 int Array2[2]={2,1}; //2 Werte: 2 und 1 Code:
if(ErgebnisArray[0]==Array1[0]) Is12; if(ErgebnisArray[0]==Array2[0]) Is21; Das heißt, bei 3 hätte ich schon 6 feste Arrays zu definieren und dementsprechend auch 6 if-Abfragen. Um das ganze in einen Loop zu packen, müßte ich die Arrays zu einem zusammenfassen, etwa so: Code:
int ArrayBis2[hat 2 Zeilen][mit 2 Werten]={ ?1,2? , ?2,1?}; Mache ich einen Denkfehler, habe ich ein Verständnisproblem? Wäre nett, wenn mich jemand hier wieder auf die Spur bringen könnte. Danke. AVT |
|
|||
Also das Array
int arr[2][2] = {1,2,2,1}; wird über Print folgendes Ergebniss zu den 4 Feldern ausgeben: 1,2,2,1 für [0][0],[0][1],[1][0],[1][1] traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
So wie Du die Definition geschrieben hast, das war mir nicht klar,daß man die quasi einfach alle hintereinander schreiben kann. (auch wenn ich da lieber ein Leerzeichen zwischen den Kombis hätte - so rein wegen der Übersicht) Ich habe das dann anfangs so probiert (funzt), mit Werteloop: Code:
int ArrayBis2[2][2]={ {1,2}, {2,1} }; //Wertekombination in {}Klammer for (int k=0; k<2; k++) { Print("---"); for(int y=0; y<2; y++) { Print(" ArrayBis2 Nr k: ",(int)k," Nr y: ",(int)y, " Index k[y]: ",IntegerToString(ArrayBis2[k][y] ); } } //Resultat: //ArrayBis2 Nr k: 1 Nr y: 1 Index k[y]: 1 //ArrayBis2 Nr k: 1 Nr y: 0 Index k[y]: 2 //--- //ArrayBis2 Nr k: 0 Nr y: 1 Index k[y]: 2 //ArrayBis2 Nr k: 0 Nr y: 0 Index k[y]: 1 //--- Ich will ja wissen, welche Möglichkeit ich grade erwischt habe: - wenn der string "1,2" lautet, ist es die 1. Möglichkeit - wenn der string "2,1" lautet, ist es die 2. Möglichkeit Also einfach: string ArrayBis2[2]={"1,2","2,1"}; Bedeutet allerdings das Herausfinden für das Ergebnis umschreiben auf string, aber das krieg ich hin. Noch mal Danke, wieder was dazugelernt. AVT |
Lesezeichen |
|
|