Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 141

 
Artyom Trishkin:

Друзья, что-то уработался я ...

Вопрос такого плана: есть массив, допустим из четырёх чисел. Нужно узнать количество одинаковых чисел в массиве.

1,2,3,4 - нет одинаковых
1,1,2,3 - два одинаковых
1,1,2,2 - тоже два одинаковых‌
1,2,1,2 - и тут два одинаковых
1,1,1,2 - три одинаковых
1,1,1,1 - четыре одинаковых

Вроде и не сложно, но что-то не идёт мысля...

КАК?‌

 

Упорядочить массив и делать сравнение с текущим и прошлым значением, если совпали, то посчитали - или я не понял вопрос.
 
Artyom Trishkin:

Друзья, что-то уработался я ...

Вопрос такого плана: есть массив, допустим из четырёх чисел. Нужно узнать количество одинаковых чисел в массиве.

1,2,3,4 - нет одинаковых
1,1,2,3 - два одинаковых
1,1,2,2 - тоже два одинаковых‌
1,2,1,2 - и тут два одинаковых
1,1,1,2 - три одинаковых
1,1,1,1 - четыре одинаковых

Вроде и не сложно, но что-то не идёт мысля...

КАК?‌

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.

Ага, покручу-гляну. Благодарю. Идея понятна 

А то совсем упёрся рогом в простое, делая сложное ...

 
-Aleks-:

 

Упорядочить массив и делать сравнение с текущим и прошлым значением, если совпали, то посчитали - или я не понял вопрос.
Спасибо. Чуть не так - там могут быть несколько совпадающих, но разных меж собою цифр.
 
Artyom Trishkin:
Спасибо. Чуть не так - там могут быть несколько совпадающих, но разных меж собою цифр.

точно уработался :-)

 
Artyom Trishkin:
Спасибо. Чуть не так - там могут быть несколько совпадающих, но разных меж собою цифр.

Нужна более четкая постановка задачи.

1) Дается на вход число и нужно вывести, сколько совпадений по этому числу в массиве.

2) Или нужно вывести все числа, которые дублируются в массиве?‌

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

Нужна более четкая постановка задачи.

1) Дается на вход число и нужно вывести, сколько совпадений по этому числу в массиве.

2) Или нужно вывести все числа, которые дублируются в массиве?‌

Ни то, ни другое.

Есть четыре заведомо неизвестных числа. Нужно найти количество повторяющихся чисел как в примере в моём первом сообщении‌.

 
Maxim Kuznetsov:

точно уработался :-)

Ну да... Уработался :))

Не знаю как назвать такие числа: 1,1 2,2 ... или 1,2,1,2 - здесь количество (результат) 2

повторяющиеся‌ (1,1)..., но разные (1,1,2,2) ... - и здесь количество (результат) 2

А как правильно сиё обозвать - фигзнает - не заказчик я однако

ЗЫ. Кстати - повторяющиеся - это я зря... А то можно решить, что "идущие подряд"... А это не нужно.

просто количество совпадающих чисел. Хотя и это может оказаться не верной постановкой вопроса... да... тяжела жизнь заказчика...‌

 
Artyom Trishkin:

А как правильно сиё обозвать - фигзнает - не заказчик я однако ‌

Максимальное количество одинаковых значений в последовательности?
 
Alexey Kozitsyn:
Максимальное количество одинаковых значений в последовательности?

Не-а :)))

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

количество чисел одинакового цвета.‌

Причина обращения: