配列(1次元2次元)から要素を削除するにはどうすればよいですか? - ページ 9 123456789 新しいコメント Ilya Malev 2018.12.24 11:11 #81 もちろん、コストや経費を無視して、任意の次元の配列を#defineで新たに作成した1次元配列に書き換えてから関数を 呼び出す(そして書き戻す)ことも可能ですが、コストは可哀想なことになりますね。 Dmitry Fedoseev 2018.12.24 18:32 #82 Alexey Viktorov:なぜ助からないのか? ... なぜなら、配列の次元数も、どの次元のサイズも、オーバーロードの引き金にはならないからです。また、自動的に定義できるパラメータを関数に渡すことは、あまり賢明な判断ではありません。 Alexey Viktorov 2018.12.24 19:42 #83 Dmitry Fedoseev:なぜなら、配列の次元数も、どの次元のサイズも、オーバーロードの引き金にはならないからです。また、自動的に定義できるパラメータを関数に渡すことは、必ずしも賢明な判断とは言えません。そう、もう無駄なことだと気づいてしまったのです。 Seric29 2018.12.24 22:21 #84 全体として、価値のあるテーマですが、私にとっては非常に幅広く、複雑で、長年の経験が必要なものです。 Dmitry Fedoseev 2018.12.24 22:24 #85 Seric29: 全体として、価値のあるテーマですが、私にとっては非常に幅広く、複雑で、長年の経験が必要なものです。あまり細かいことは言わないでください、彼らはすべてを普遍化したがりますが、なくても十分生きていけますよ。 Ilya Malev 2018.12.24 22:41 #86 実は、このスレッドへの最初の返信で、普遍的なレシピが示されていたのです。自分で電源を入れてテストすればいいだけの話ですが、全部噛んで口に入れることはできませんよね? Алексей Тарабанов 2018.12.24 23:02 #87 Ilya Malev: 実は、このスレッドの最初の返信で、普遍的なレシピが示されています。自分で電源を入れてテストすればいいだけですが、全部噛んで口に入れるのは無理ですよね?イリヤさん、この話題は本当に深刻に受け止めているのでしょうか?ちょっとした遊び心で...。次元に関係なく、すべてを1次元配列に往復させるという作業的な答えが返ってきましたね。私の答えは、皆さんと同じで、本質を変えない小さな技術的な部分があるだけです。定義と嘆かわしいコストについて理解していなかった。 Ilya Malev 2018.12.24 23:21 #88 Алексей Тарабанов:イリヤさん、この話題は本当に深刻に受け止めているのでしょうか?ちょっとした遊び心で...。次元に関係なく、すべてを1次元配列に往復させるという作業的な答えが返ってきましたね。私の答えは、皆さんと同じで、本質を変えない小さな技術的な部分があるだけです。コストと嘆く意味がわからない。いいえ、逆に深刻ではありません、私はちょうどTCが解決策を探すためにどこに再び説明した(最初のポストは、私がチェックしなかったが、動作するように最も可能性が高いです)。そして、いろいろなおしゃべりが始まりました :) 実際μlではこれらのアレイは悲しい状況ですが、もう一つ、99%のケースで必要ないということです。頭を使えば、どんなコーダーでも構造体や、オブジェクトを使う。 私が書いたdefineは、私が設定した問題を解決するものです))- ArrayDelを1回呼び出すと、Dmitryが書いたコードが異なる配列に対して実行されます。確かに、これは機能ではなく、「死者の湿布」と言われるようなものです。defineのコストについてですが、どうしてもint型のar[]パラメータを任意の配列に対して実行したい場合は、以下のようにします(これは単純化したもので、実際には測定回数もそこに渡す必要があります)。 #property strict #define PackAndDel(A,S,C) { int tmp[]; ArrayCopy(tmp,A); ArrayDelete(tmp,S,C); ArrayCopy(A,tmp); } void ArrayDelete(int &ar[], int start, int count) { // ..... ; } void OnStart () { int ar1[]; int ar2[][5]; int ar3[][6][2]; PackAndDel( ar1, 0, 1 ); PackAndDel( ar2, 4, 1 ); PackAndDel( ar3, 1, 3 ); } 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なぜ助からないのか?
...
なぜなら、配列の次元数も、どの次元のサイズも、オーバーロードの引き金にはならないからです。また、自動的に定義できるパラメータを関数に渡すことは、あまり賢明な判断ではありません。
なぜなら、配列の次元数も、どの次元のサイズも、オーバーロードの引き金にはならないからです。また、自動的に定義できるパラメータを関数に渡すことは、必ずしも賢明な判断とは言えません。
そう、もう無駄なことだと気づいてしまったのです。
全体として、価値のあるテーマですが、私にとっては非常に幅広く、複雑で、長年の経験が必要なものです。
あまり細かいことは言わないでください、彼らはすべてを普遍化したがりますが、なくても十分生きていけますよ。
実は、このスレッドの最初の返信で、普遍的なレシピが示されています。自分で電源を入れてテストすればいいだけですが、全部噛んで口に入れるのは無理ですよね?
イリヤさん、この話題は本当に深刻に受け止めているのでしょうか?ちょっとした遊び心で...。次元に関係なく、すべてを1次元配列に往復させるという作業的な答えが返ってきましたね。私の答えは、皆さんと同じで、本質を変えない小さな技術的な部分があるだけです。定義と嘆かわしいコストについて理解していなかった。
イリヤさん、この話題は本当に深刻に受け止めているのでしょうか?ちょっとした遊び心で...。次元に関係なく、すべてを1次元配列に往復させるという作業的な答えが返ってきましたね。私の答えは、皆さんと同じで、本質を変えない小さな技術的な部分があるだけです。コストと嘆く意味がわからない。
いいえ、逆に深刻ではありません、私はちょうどTCが解決策を探すためにどこに再び説明した(最初のポストは、私がチェックしなかったが、動作するように最も可能性が高いです)。そして、いろいろなおしゃべりが始まりました :)
実際μlではこれらのアレイは悲しい状況ですが、もう一つ、99%のケースで必要ないということです。頭を使えば、どんなコーダーでも構造体や、オブジェクトを使う。
私が書いたdefineは、私が設定した問題を解決するものです))- ArrayDelを1回呼び出すと、Dmitryが書いたコードが異なる配列に対して実行されます。確かに、これは機能ではなく、「死者の湿布」と言われるようなものです。defineのコストについてですが、どうしてもint型のar[]パラメータを任意の配列に対して実行したい場合は、以下のようにします(これは単純化したもので、実際には測定回数もそこに渡す必要があります)。