MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 141

 
Artyom Trishkin:

友よ、私は働きすぎだった...。

ここで問題です。例えば4つの数字の配列があります。配列の中の等しい数の数を求める必要があります。

1,2,3,4 - 同じ数字はありません。
1,1,2,3 - 同じ数字2つ
1,1,2,2 - これも同じ数字が2つ。
1,2,1,2 - 同じものが2つあります。
1,1,1,2 - 3つの共通点
1,1,1,1,1......4本が同じです。

複雑ではなさそうだけど、思いつかない...。

どのように?

配列を整え、現在と過去の値との比較を行い、一致すればカウントする--ということなのか、質問の意味がわからない。
 
Artyom Trishkin:

友よ、私は働きすぎだった...。

例えば4つの数字からなる配列があります。配列の中の等しい数の数を求める必要があります。

1,2,3,4 - 同じ数字はありません。
1,1,2,3 - 同じ数字が2つ。
1,1,2,2 - これも同じ数字が2つ。
1,2,1,2 - 似たようなものが2つある
1,1,1,2 - 3つの共通点
1,1,1,1,1......4本が同じです。

複雑ではなさそうだけど、思いつかない...。

どのように?

int Res = 1;  

if (ArraySort(Array))
{    
  int Tmp = 1;
  
  for (int i = ArraySize(Array) - 1; i > 0; i--)
  {
    if (Array[i - 1] != Array[i])
    {
      if (Tmp > Res)
        Res = Tmp;
      
      Tmp = 0;
    }
      
    Tmp++;
  }
}
確認しなかった。結果はResで。
 
fxsaber:
int Res = 1;  

if (ArraySort(Array))
{    
  int Tmp = 1;
  
  for (int i = ArraySize(Array) - 1; i > 0; i--)
  {
    if (Array[i - 1] != Array[i])
    {
      if (Tmp > Res)
        Res = Tmp;
      
      Tmp = 0;
    }
      
    Tmp++;
  }
}
確認しなかった。Resの結果はResで。

うん、見てみるよ。ありがとうございます。イメージはつかめた

ただ、シンプルな中にホーンを持ち、複雑なことをやっている・・・。

 
-Aleks-:

配列を並べ、現在の値と過去の値との比較を行い、一致すればカウントする--ということなのか、質問の意味がわからない。
ありがとうございます。ただ、少し間違っているのは、一致するものがいくつかあっても、その間に違う数字があることです。
 
Artyom Trishkin:
ありがとうございます。ただ、少し間違っているのは、一致するものがいくつかあっても、その間に違う数字が あることです。

間違いなくうまくいった :-)

削除済み  
Artyom Trishkin:
ありがとうございます。ただ、少し間違っているのは、一致するが異なる番号がいくつかあることだ。

問題をもっと明確に定義する必要がある。

1) 入力として数字が与えられ、その数字にマッチするものが配列の中にいくつあるかを出力したい。

2) それとも、配列の中で重複している数字をすべて出力したいのでしょうか?

 
. ... Rick D. ... .:

問題の定義を明確にする必要があります。

1) 入力として数字が与えられ、その数字にマッチするものが配列の中にいくつあるかを出力したい。

2) それとも、配列の中で重複している数字をすべて出力したいのでしょうか?

どちらでもない。

既知の未知数は4つある。最初の投稿の 例のように、重複する番号の数を求める 必要があります。

 
Maxim Kuznetsov:

間違いなくうまくいった :-)

ええ、まあ...うまくいった :))

この数字をどう呼べばいいのかわからない。1,1 2,2 ...または1,2,1,2 - ここでは数字(結果)は2です。

の繰り返し(1,1)...でも違う(1,1,2,2)...です。- で、ここでは数値(結果)は2

で、どう呼ぶのが正解なんだろう......わからない......クライアントじゃないけど、

ZS.ちなみに~繰り返し~は、無駄に私です...。そうでなければ、「連発する」と思うかもしれませんが...。その必要はありません。

一致する数だけ。それも正しい言い方ではないかもしれませんが...。然りお客さまは大変だなあ...。

削除済み  
Artyom Trishkin:

なんていうんだろう......私はお客さんじゃないんですけどね。

シーケンス内の同一値の最大数?
 
Alexey Kozitsyn:
シーケンス内の同一値の最大数?

いいえ :)))

1,1,1,2,3,3,2,1,4,4,5

は同じ色の数字の数です。