intArrayCopy(
void& dst_array[], // куда копируем constvoid& src_array[], // откуда копируем int dst_start=0, // с какого индекса пишем в приемник int src_start=0, // с какого индекса копируем из источника int count=WHOLE_ARRAY// сколько элементов
);
配列を「自分の中に」コピーし、削除する配列の隣の位置から書き込みます。そして、Grigori.S.Bが提案したようにリサイズします。
興味深いことに、私の理解が正しければ、この機能を使用する必要があるのでしょうか?
おはようございます、ご返信ありがとうございます。
お気づきでないようですが、上を見ていただければわかりますが、質問はすべてMQL5に関するものでした。
その差が決定的でない場合もあることは理解していますが、それにしても。引用した関数は配列のサイズを変更するもので、サイズを小さくすると余分な要素が削られる可能性があります。
これは必要なことではありません。要素を値で探して削除する必要があります。この機能は私も試しました、#23に書きました。とにかくありがとうございます。
私も注目したことはありません。mql5にはArrayRemove 機能があり、問題ありません。
この場合、ArrayRemoveが より適切で、マニュアルに例があり、まさに次のように動作 します。
ただ問題は、これらの例や関数は一次元配列用に設計されており、二次元配列では動作させようとしないことです。
私は、何かとても大切で根本的なことを見失っているような気がします。しかし、それは何なのか?
言っとくけど、もう参考書なくなっちゃったよ。
この場合、ArrayRemoveが より適切で、マニュアルに例があり、まさに次のように動作 します。
ただ問題は、これらの例や関数は一次元配列用に設計されており、二次元配列では動作させようとしないことです。
私は、とても大切で根本的なことを見逃しているように思います。しかし、それは何なのか?
もう、わからなくなっちゃったって言ってるんです。
2次元配列の場合、削除する行数を2倍する必要があります。3次元配列の場合、3倍して...
私はこのことをよく理解していません。もっと詳しく説明してください。不便なら、ともかく、どうにかして解決しますよ。
いいえ、順番は重要ではありません。既知の(知識によって見つけられた、インデックスが既知の)エントリーを削除すればいいのです。ArrayRemoveは 素晴らしいですし、すべてがうまくいくのですが、この関数を2次元配列に適用するにはどうしたらよいでしょうか?
いいえ、順番は重要ではありません。私たちはただ、既知の(認知によって見つけられた、インデックスが既知の)レコードを削除する必要があるだけです。ArrayRemoveは素晴らしいですし、すべてがうまくいくのですが、この関数を2次元配列に適用するにはどうしたらいいのでしょうか? マニュアルには何も書いて ありません。
この場合、ArrayRemoveが より適切で、マニュアルに例があり、まさに次のように動作 します。
ただ問題は、これらの例や関数は一次元配列用に設計されており、二次元配列では動作させようとしないことです。
私は、とても大切で根本的なことを見逃しているように思います。しかし、それは何なのか?
参考書を紛失したと言っているんだ。
それはナンセンスだ。マニュアルを読まずにこの機能を使ってしまった。デバッガで、要素が削除され、配列のサイズが一瞬で小さくなる様子を確認しました。確認したところ、構造体の配列でも問題なく動作しています。例えば、2次元の配列から3番目のインデックスを削除したいとします。5番目と6番目の値を削除する必要があることがわかりました。コピーする際、この関数はすべての値を1次元の配列に並べ、3番目のペアはインデックス5から始まることが判明しました。一般的にこれは、何度か実験をしているうちに実感できるようになります。
ArrayRemoveについては、できる限り2-4次元の配列でテスト してみます。必要性から、私はテストしたことがなく、動作しないのではと疑ったことはありません。
追加されました。
確認しました。静的配列はリサイズできないことを忘れないでください。そのため、ドキュメントにある例では、配列のサイズはそのままで、最後の2つの文字列が繰り返されています。動的配列から 行を削除しても、問題なくサイズが変更されます。
ハンドブックはモニターの穴:))))に擦り込んでください。
以下は、3次元配列とその結果である。
それはゴミだ。マニュアルを読まずにこの機能を使ってしまった。デバッガを見ると、要素が削除され、配列のサイズが瞬時に小さくなっているのがわかります。確認したところ、構造体の配列でも問題なく動作しています。例えば、2次元の配列から3番目のインデックスを削除したいとします。5番目と6番目の値を削除する必要があることがわかりました。コピーする際、この関数はすべての値を1次元の配列に並べ、3番目のペアはインデックス5から始まることが判明しました。一般的にこれは、何度か実験をしているうちに実感できるようになります。
ArrayRemoveについては、できる限り2-4次元の配列でテスト してみます。必要性から、私はテストしたことがなく、動作しないのではと疑ったことはありません。
追加されました。
確認しました。静的配列はリサイズできないことを忘れないでください。そのため、ドキュメントにある例では、配列のサイズはそのままで、最後の2つの文字列が繰り返されています。動的配列から 行を削除しても、問題なくサイズが変更されます。
ディレクトリはモニターの穴:))))にスクラブする必要があります。
ここでは、3次元の配列を作成し、その結果を表示しています。
この例は非常に遅く、多くの値がある場合、これは顕著になります。
たくさんあるのは?毎回のクリックでも埋まらない配列要素?どのように目立たせるのか?