Aleksei Stepanenko #: ist größer oder gleich, da das erste Element des Arrays ebenfalls berücksichtigt werden muss und sein Index im Array Null ist.
Ich verstehe nicht, über welches Feld hier alle reden. Wenn OrdersTotal nicht auf diese Weise funktioniert. Es handelt sich nicht um ein Array, sondern um eine Funktion, die eine Zahl zurückgibt.
Aleksei Stepanenko #: Nein, das ist in Ordnung. Wenn es keine Positionen gibt, ist i=OrdersTotal()-1 gleich -1. Und die Schleifenbedingung i>=0 wird nicht sofort ausgeführt. Und das Programm wird nicht in die Schleife eintreten.
Aber das ist nicht korrekt, die "Summe der Aufträge" ist 1, d.h. wir werden immer 1 Auftrag aus der Schleife ausschließen.
Nerd Trader #: Ich verstehe nicht, auf welches Feld sich alle hier beziehen. Wenn OrdersTotal nicht auf diese Weise funktioniert.
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
In einem Array beginnt der Index des ersten Elements immer mit Null und die Größe des letzten Elements minus Eins.
Пример: всего 5 ордеров, индексы: 0,1,2,3,4.
или массив из 5 элементов, индексы те же.
for(int i=5-1; i>=0; i--)
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
Der Index des ersten Elements im Array ist immer null, während die Größe des letzten Elements jeweils minus eins ist.
Welchen Unterschied macht es, wo sich die Bestellungen befinden, wenn OrdersTotal kein Array ist. Sie gibt die Anzahl der Aufträge zurück, nicht den Array-Index.
Nerd Trader #: Aber das ist nicht korrekt, es stellt sich heraus, dass "Summe der Aufträge" 1 ist, was bedeutet, dass 1 Auftrag immer von der Schleife ausgeschlossen wird.
die Aufträge sind in einer nummerierten Liste aufgeführt... Die Liste zählt von 0 abwärts...
Zum Beispiel
Seriennummer 0, Kauftyp, Los 0.1
Seriennummer 1, Verkaufstyp, Los 1
Seriennummer 2, Verkaufstyp, Los 0,5
laufende Nummer 3, Kauftyp, Los 0,16
Wenn Sie jetzt OrdersTotal() aufrufen, wird = 4 angezeigt.
Aber wenn wir durch alle Zeilen der Liste navigieren wollen, müssen wir durch die Nummern 0 1 2 3 gehen, die Nummer 4 ist nicht hier... obwohl es 4 Aufträge gibt.
Also wird ein Trick angewendet, wenn man eine Schleife zusammenstellt, minus 1 bei der Anzahl der Aufträge, das war's...
Welchen Unterschied macht es, wo sich die Bestellungen befinden, wenn OrdersTotal kein Array ist. Sie gibt die Anzahl der Aufträge zurück, nicht den Array-Index.
Richtig, ABER es gibt eine implizite Tatsache, mit der Anzahl der Aufträge können Sie die Nummern aller Aufträge in der Liste erhalten
OrdersTotal ist die Gesamtzahl, aber in fast allen Programmiersprachen beginnen die Indizes mit 0 und nicht mit 1. Gewöhnen Sie sich einfach daran. Gehen Sie eine Einheit zurück, und das war's, und es wird dasselbe sein, wie Sie denken.
Nerd Trader #: Aber das ist nicht korrekt, es stellt sich heraus, dass "Summe der Aufträge" 1 ist, was bedeutet, dass 1 Auftrag immer von der Schleife ausgeschlossen wird.
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
In einem Array beginnt der Index des ersten Elements immer mit Null, und die Größe des letzten Elements - minus Eins.
Total und Array-Index sind also unterschiedliche Dinge, warum glauben Sie, dass es dasselbe ist? Um ein Array mit einem Index von 1 zu erstellen, geben Sie 1, nicht 0, ein (int ar[1]), so dass ArraySize( ar ) auch 1, nicht 0, zurückgibt.
ist größer oder gleich, da das erste Element des Arrays ebenfalls berücksichtigt werden muss und sein Index im Array Null ist.
Nein, das ist in Ordnung. Wenn es keine Positionen gibt, ist i=OrdersTotal()-1 gleich -1. Und die Schleifenbedingung i>=0 wird nicht sofort ausgeführt. Und das Programm wird nicht in die Schleife eintreten.
Ich verstehe nicht, auf welches Feld sich alle hier beziehen. Wenn OrdersTotal nicht auf diese Weise funktioniert.
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
In einem Array beginnt der Index des ersten Elements immer mit Null und die Größe des letzten Elements minus Eins.
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
Der Index des ersten Elements im Array ist immer null, während die Größe des letzten Elements jeweils minus eins ist.
Welchen Unterschied macht es, wo sich die Bestellungen befinden, wenn OrdersTotal kein Array ist. Sie gibt die Anzahl der Aufträge zurück, nicht den Array-Index.
Aber das ist nicht korrekt, es stellt sich heraus, dass "Summe der Aufträge" 1 ist, was bedeutet, dass 1 Auftrag immer von der Schleife ausgeschlossen wird.
die Aufträge sind in einer nummerierten Liste aufgeführt... Die Liste zählt von 0 abwärts...
Zum Beispiel
Seriennummer 0, Kauftyp, Los 0.1
Seriennummer 1, Verkaufstyp, Los 1
Seriennummer 2, Verkaufstyp, Los 0,5
laufende Nummer 3, Kauftyp, Los 0,16
Wenn Sie jetzt OrdersTotal() aufrufen, wird = 4 angezeigt.
Aber wenn wir durch alle Zeilen der Liste navigieren wollen, müssen wir durch die Nummern 0 1 2 3 gehen, die Nummer 4 ist nicht hier... obwohl es 4 Aufträge gibt.
Also wird ein Trick angewendet, wenn man eine Schleife zusammenstellt, minus 1 bei der Anzahl der Aufträge, das war's...
Welchen Unterschied macht es, wo sich die Bestellungen befinden, wenn OrdersTotal kein Array ist. Sie gibt die Anzahl der Aufträge zurück, nicht den Array-Index.
Welchen Unterschied macht es, wo sich die Aufträge befinden, wenn OrdersTotal kein Array ist?
Aber das ist nicht korrekt, es stellt sich heraus, dass "Summe der Aufträge" 1 ist, was bedeutet, dass 1 Auftrag immer von der Schleife ausgeschlossen wird.
Wenn Sie "-1" nicht mögen, können Sie dies tun
Die Aufträge befinden sich im Wesentlichen in einem Array im Programm, wir sehen es nur nicht. OrdersTotal ist gleich ArraySize und zeigt die Gesamtzahl der Elemente an.
In einem Array beginnt der Index des ersten Elements immer mit Null, und die Größe des letzten Elements - minus Eins.
Total und Array-Index sind also unterschiedliche Dinge, warum glauben Sie, dass es dasselbe ist? Um ein Array mit einem Index von 1 zu erstellen, geben Sie 1, nicht 0, ein (int ar[1]), so dass ArraySize( ar ) auch 1, nicht 0, zurückgibt.
Wenn Sie "-1" nicht mögen, können Sie
Das ist nicht korrekt... eine Bestellung mit der Nummer 0 wird übersprungen...
Die korrekte Vorgehensweise ist wie folgt