Array-Initialisierung - Seite 3

 
MetaNt:


Das erinnert mich an Matrizen...

Für das Array "Aufträge" haben Sie gesagt, dass 0=Kauf und 1=Verkauf ist.

Wie würde ich das also initialisieren?

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

Ich denke, es ist genau wie bei Matrizen

Sie initialisieren es mit einem Satz geschweifter Klammern und so vielen Werten, wie in das Array passen, oder nur mit einem Wert für das gesamte Array, und fügen dann später die tatsächlichen Werte hinzu.

Ja, ich habe gesagt, dass Kauf und Verkauf 0 und 1 sind, denn wenn Sie mit Aufträgen arbeiten, sind die Auftragstypen diese ganzzahligen Werte.

Meistens ist es am einfachsten, das gesamte Array mit einem einzigen Wert zu initialisieren (nur weil man es initialisieren muss) und die Werte später hinzuzufügen.

auftragsarray[10,2] = {0};

Wenn du for-Schleifen mit Arrays verwendest, ergibt alles einen Sinn.

 
SDC:

Ich denke, es ist genau wie bei Matrizen

Sie initialisieren es mit einem Satz geschweifter Klammern und so vielen Werten, wie in das Array passen, oder nur einem Wert für das gesamte Array, und fügen dann später die tatsächlichen Werte hinzu.

Ja, ich habe gesagt, dass Kauf und Verkauf 0 und 1 sind, denn wenn Sie mit Aufträgen arbeiten, sind die Auftragstypen diese ganzzahligen Werte.

Meistens ist es am einfachsten, das gesamte Array mit einem einzigen Wert zu initialisieren (nur weil man es initialisieren muss) und die Werte später hinzuzufügen.

auftragsarray[10,2] = {0};

Wenn du for-Schleifen mit Arrays verwendest, ergibt alles einen Sinn.


Ich habe etwas bemerkt

Myarray [3][4] ist mehrdimensional, aber siehe

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

Es ist in einer eindimensionalen Form definiert, was bedeutet, dass für eine der Dimensionen nur ein Wert gültig ist, obwohl die Größe 4 zulässt, so dass Myarray [2,0]=z aber Myarray[2,1] = 0 und Myarray[0,2] auch = z ist.

 
SDC:

Ich denke, es ist genau wie bei Matrizen

Sie initialisieren es mit einem Satz geschweifter Klammern und so vielen Werten, wie in das Array passen, oder nur einem Wert für das gesamte Array, und fügen dann später die tatsächlichen Werte hinzu.

Ja, ich habe gesagt, dass Kauf und Verkauf 0 und 1 sind, denn wenn Sie mit Aufträgen arbeiten, sind die Auftragstypen diese ganzzahligen Werte.

Meistens ist es am einfachsten, das gesamte Array mit einem einzigen Wert zu initialisieren (nur weil man es initialisieren muss) und die Werte später hinzuzufügen.

auftragsarray[10,2] = {0};

Wenn du for-Schleifen mit Arrays verwendest, ergibt alles einen Sinn.


Ich habe etwas bemerkt

Myarray [3][4] ist mehrdimensional, aber siehe

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

Es ist in einer eindimensionalen Form definiert, was bedeutet, dass für eine der Dimensionen nur ein Wert gültig ist, obwohl die Größe 4 zulässt, so dass Myarray [2,0]=z aber Myarray[2,1] = 0 und Myarray[0,2] auch = z ist.

 
SDC:

"In der initialisierten Sequenz können eine oder mehrere Konstanten weggelassen werden. In einem solchen Fall werden entsprechende Array-Elemente vom numerischen Typ mit Null initialisiert, Elemente von Arrays vom String-Typ werden mit dem String-Wert "" (Anführungszeichen ohne Leerzeichen), d.h. mit einer Leerzeile (nicht zu verwechseln mit einem Leerzeichen) initialisiert."

und zeigt dann dieses Beispiel,

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

war es wahrscheinlich so gemeint:

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

Ja, im ersten Beispiel wird Mas_s[2] mit 0 initialisiert

      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);

Ergebnis


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

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

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

 
MetaNt:


Mir ist etwas aufgefallen

Myarray [3][4] ist mehrdimensional, sieht aber so aus

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

Es ist in einer eindimensionalen Form definiert, was bedeutet, dass für eine der Dimensionen nur ein Wert gültig ist, obwohl die Größe 4 zulässt, so dass Myarray [2,0]=z aber Myarray[2,1] = 0 und Myarray[0,2] auch = z ist.

ja, wenn Sie Array auf diese Weise füllen, wird es sequentiell gefüllt, beginnend mit der ersten Dimension
 
SDC:
Ja, wenn Sie das Array auf diese Weise füllen, wird es sequentiell gefüllt, beginnend mit der ersten Dimension


int myarray[2][2] = {1,2} würde also füllen

myarray[0,0]=1

myarray[1,0]=2

myarray[0,0]=1

myarray[0,1]=2

Wie würden Sie dies mit einer Schleife erreichen?

Würden Sie die Variablen i und j mit Grenzwerten entsprechend der Array-Größe verwenden?

 

also sollte es in dieser Reihenfolge gefüllt werden

[0,0]

[0,1]

[0,2]

[0,3]

dann

[1,0]

[1,1]

[1,2]

[1,3]

dann

[2,0]

[2,1]

[2,2]

[2,3]

 
MetaNt:


so würde int myarray[2][2] = {1,2} füllen

myarray[0,0]=1

myarray[1,0]=2

myarray[0,0]=1

myarray[0,1]=2

Wie würden Sie dies mit einer Schleife erreichen?

Würden Sie die Variablen i und j mit Begrenzungen entsprechend der Größe des Arrays verwenden?

Ja, Sie können die Dimensionskonstanten durch eine Variable ersetzen

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

{myarray[i,0] = ? // würde Werte zum 1. hinzufügen

}

 

Sie können es auch anders machen

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

{myarray[0,i] = ?

}

 
SDC:

Sie können es auch anders machen

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

{myarray[0,i] = ?

}


Danke für die Klarstellung, es fühlt sich sehr nach Matrizen an.