#property copyright"."#property link""#property version"1.00"#property strict//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
for(int i=1; i<10; i++)
{
double x=1.0;
double y=0.5;
double A = x*i;
double B = y*i;
Alert(" i = ",i," A = ",DoubleToStr(A,1)," B = ",DoubleToStr(B,1));
//КАК НАЙТИ СРАВНЕНИЕ ЧИСЕЛ А == В БЕЗ УЧЕТА i ?
}
}
//+------------------------------------------------------------------+
プログラマーの皆さん、こんにちは。
forループで2つの数値を比較する方法を教えてください。
ループiの場合を除き、A==Bを求めるには何が必要でしょうか?
ループでは、2つの数値を比較するのはiだけ です。 例えば、i == 1の 場合、 iと 等しい数値のA、Bのみを通過して比較します 。
与えられた数字を、サイクルiの場合を除き、すべて互いに試すようにしたい。どのようにコードで実装するのか、コード例を示していただけると助かります。
ありがとう ございます。
ループの中に輪を作る。 まず最初のAと10個のBのそれぞれを比較し、次に2番目のAを比較する、など。
まず最初のAと10個のBのそれぞれを比較し、次に2番目のAを比較する、というようにループで循環させる。
ご回答ありがとうございました。
9回?このサイクルでは9 A、そして9 B 。
Aを100回、Bを100回というサイクルで、それはもうAとBをそれぞれ100回ずつ......越えていくんです。悪夢です。
他に方法はないのか?
すべては、目の前の課題次第です。検索する必要が全くない場合もあります。例えば、いくつかの値があらかじめ配列に格納されている場合。
何が求められているのか、今までの例ではよくわかりません。何のための比較なのか、何を得たいのか。
すべては、目の前の課題次第です。もしかしたら、検索する必要が全くないのかもしれません。例えば、いくつかの値があらかじめ配列に格納されている場合。
私はそれを理解するためにあまりにも古い問題を持っている配列でのみ考えてきました。しかし、例が示されていれば、どう応用すればいいのかが分かるかもしれない。2次元配列も考えたのですが、実装には至りませんでした。ループと同じように1次元配列でデータを出力する......。
もしかしたら、誰かがこれに出会って、解決策を共有しているかもしれないと思ったんだ。
あなたの例からは、何が必要なのかまだよくわかりません。何のための比較なのか、何を得たいのか。
何かを提案するためには、問題を説明する必要があります。解決策ではなく、どう捉えるか、何を得たいのか。それから実装を考えればいいんです。
何かを提案するためには、問題を説明する必要があります。解決策ではなく、どう捉えるか、何を得たいのか。そのうえで、実装を考えればいいのです。
Alekseiさん、ありがとうございます。最初のアドバイスを参考にさせていただき、すでに実行に移しました。コードを減らしたかったんだ、多すぎたんだ。プライベートではすでに「他に方法はない」と言われているので、簡単な解決策があると思ったのですが。
何かを提案するためには、問題を説明する必要があります。解決策ではなく、どう捉えるか、何を得たいのか。そのうえで、実装を考えればいいのです。
考えたのですが、配列に2重のデータを格納することで可能なのでしょうか?私の知る限り、intは配列にしか入れられないのでは?
これなら何かできそうな気がする......。
プログラミングでは、1つの解しかありえないということはまずありません。選択肢は必ずある。意味については何も言わないので、何とも言えませんね。
配列には、さまざまな種類のデータを格納することができます。