[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 184
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wenn er Nullen ausgibt, ist es besser, einen Code anzuhängen, als ihn mit den Fingern zu erklären.
Wenn ein offenes Array deklariert wird, ist es ratsam, ArrayResize durchzuführen oder gleich eine größere Dimension zu deklarieren.
Das Skript ist nur zum Spaß, aber Sie können auch Alert(GetLastError()); abfangen, um
Wenn er Nullen ausgibt, ist es besser, einen Code anzuhängen, als ihn mit den Fingern zu erklären.
Wenn ein offenes Array deklariert wird, ist es ratsam, ArrayResize durchzuführen oder gleich eine größere Dimension zu deklarieren.
Ich habe den Code bereits im ersten Beitrag angehängt. Es müssen nur noch ein paar richtige Zeilen hinzugefügt werden, um das Feld zu bilden. Genau das war die Hauptfrage).
Ich denke sogar, dass es irgendwo so etwas geben sollte:
ArrayResize(Mas,n);
Mas[n]={diff};
n ist die neue Dimensionalität, diff die Werte der resultierenden Differenzen.
Aber so funktioniert es nicht, es wird die Differenz 0,00000 gedruckt. Ich habe bereits versucht, den Unterschied in der Schleife, hinter der Schleife und sogar in der Bedingung einzufügen.
Kurz gesagt, ich bin wie betäubt).
Wenn Sie wissen, wie man es schreibt, werde ich Ihnen sehr dankbar sein.
Das Skript ist nur zum Spaß, aber Sie können auch Alert(GetLastError()); abfangen, um
Nun, es stellt sich heraus, dass Sie sowohl die Größe als auch den Wert des Arrays im Code explizit angeben. Genau das habe ich in dem Artikel verstanden.
Aber irgendwie schaffe ich es nicht mit meinem Beispiel.(.
sowohl die Dimension als auch den Wert des Arrays im Code explizit angeben
Es gibt keine anderen Möglichkeiten.
Elemente werden nicht erstellt, wenn Sie auf sie zugreifen.
Es gibt keine anderen Möglichkeiten.
Elemente werden nicht erstellt, wenn auf sie zugegriffen wird.
Okay, sehen Sie. Habe ich es richtig verstanden?
In Ihrem Beispiel erstellen Sie ein eindimensionales Array, das aus einem einzigen Wert von 89 besteht.
Mit Dimensionalität meinte ich übrigens die Anzahl der Elemente in einem eindimensionalen Array. Ich dachte, dass man sie im Laufe des Programms ändern kann. Schließlich ist es nicht umsonst so, dass wir unser Array zunächst nicht explizit angeben. D.h. zum Beispiel:
double Mas[]; //Initialisierung eines eindimensionalen Arrays
int n=0; //wird für die Anzahl der Array-Elemente nützlich sein
Außerdem führen wir, wie in meinem Beispiel, die folgende Schleife durch
for(...)
{
if(...)//Die Bedingung, an der wir interessiert sind
{
n++;// Zählen, wie oft es funktioniert hat
diff=... Werte, an denen wir interessiert sind
}
}
und an anderer Stelle füllen wir unser eindimensionales Array Mas[n] mit diff-Werten, wobei n die Anzahl der Elemente ist
Ich dachte, das ist ganz normal und kann so gemacht werden... Oder doch nicht?
Vor für, fügen Sie ein ArrayResize auf die erforderliche Anzahl von Elementen
Zum Beispiel, der Punkt
orientiert sich an der Anzahl der Balken im aktuellen Diagrammfenster, oder Sie können anstelle von iBars einfach eine beliebige annähernd astronomische Zahl angeben.
Das Array wird zunächst leer erstellt. Bevor Sie darauf zugreifen, müssen Sie angeben, wie viele Elemente Sie darin speichern möchten. Stellen Sie den vollständigen Code ein, dann ist es einfacher zu navigieren.
Vor für, fügen Sie ein ArrayResize auf die erforderliche Anzahl von Elementen
Zum Beispiel, der Punkt
orientiert sich an der Anzahl der Balken des Diagramms im aktuellen Fenster, oder Sie können anstelle von iBars einfach eine beliebige annähernd astronomische Zahl angeben.
In dem Beispiel zeige ich, dass Sie kein Array verwenden können, das nicht mit einer Anzahl von Elementen gekennzeichnet ist.
Die ersten beiden Aufrufe verursachen einen Fehler und geben 0 zurück.
Um die Kakerlaken loszuwerden, schreiben Sie einfach
double mas[999999];
Wenn es funktioniert, kümmern Sie sich um die Kakerlaken.
In dem Beispiel zeige ich, dass Sie kein Array verwenden können, das nicht mit einer Anzahl von Elementen gekennzeichnet ist.
Die ersten beiden Aufrufe verursachen einen Fehler und geben 0 zurück.
Um die Kakerlaken loszuwerden, schreiben Sie einfach
Wenn es funktioniert, kümmern Sie sich um die Kakerlaken.
Sie müssen die Anzahl der Elemente nicht von Anfang an angeben, die Konstruktion double Mas[] ist ebenfalls geeignet.