¿Qué debería devolver finalmente la función y por qué? El número de aciertos para cada número, o un número máximo específico, o ... ¿He escrito algo, pero debe estar mal, y mal?
No sé cómo explicar...
Vemos una matriz:1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, Marcamos los números idénticos con el mismo color (si sólo hay un número, no hay duplicado para él, no es necesario): 1, 2, 3, 1, 2,1,2, 2, 1, 1, 3, 3,3, 3,3,3, 3, 3, 3, 3,3 Cuenta el número de números con diferentes colores: 3 - este es el resultado.
Vemos una matriz:1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, Marcamos los números idénticos con el mismo color (si sólo hay un número, no hay doble para él - no es necesario): 1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3,3,3, 3,3,3, 3, 3, 3, 3,3 Cuenta el número de números con diferentes colores: 3 - este es el resultado.
Artyom Trishkin: Hay ... Soy un bicho raro... Pensé que venía de allí, pero vino de otro lugar.
Generalizado
// Возвращает количество различных элементов массива, которых не меньше Repeat template <typename T> int Strange( const T &InArray[], constint Repeat = 2 ) { int Res = 0;
T Array[];
constint Size = ArraySize(InArray);
if ((ArrayCopy(Array, InArray) == Size) && ArraySort(Array)) { int Tmp = 1;
for (int i = 1; i < Size; i++, Tmp++) if (Array[i - 1] != Array[i]) // если будут структуры, то есть более универсальная запись { if (Tmp >= Repeat) Res++;
Ya estoy confundido)
Tienes una matriz:
¿Qué debería devolver finalmente la función y por qué? El número de aciertos para cada número, o un número máximo específico, o ... ¿He escrito algo, pero debe estar mal, y mal?
No sé cómo explicar...
Vemos una matriz:1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3,
Marcamos los números idénticos con el mismo color (si sólo hay un número, no hay duplicado para él, no es necesario):
1, 2, 3, 1, 2 , 1 , 2, 2, 1, 1, 3, 3 , 3, 3 , 3 , 3, 3 , 3, 3, 3,3
Cuenta el número de números con diferentes colores: 3 - este es el resultado.
Has comprobado el código antiguo. Vuelve a comprobarlo.
No sé cómo explicar...
Vemos una matriz:1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3,
Marcamos los números idénticos con el mismo color (si sólo hay un número, no hay doble para él - no es necesario):
1, 2, 3, 1, 2, 1, 2, 2, 1, 1, 3 , 3 , 3, 3 , 3 , 3, 3 , 3, 3, 3,3
Cuenta el número de números con diferentes colores: 3 - este es el resultado.
Tal vez)
{
int Arr[]={1, 2, 3, 1, 2, 1, 2, 2, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
Comment( GetM(Arr) );
}
int GetM(int &Mas[])
{
int MasTemp[][2]; // Временный массив
int c=0,t=0;
ArraySort(Mas);
int ArrSize= ArraySize(Mas);
for(int i=0; i<ArrSize; i++) {
for(int x=i; x<ArrSize; x++) {
if(Mas[i]==Mas[ArrayMinimum(Mas,WHOLE_ARRAY,x)]) {
c++;
}
}
if(c>0) {
t++;
ArrayResize(MasTemp,t);
MasTemp[t-1][0]= c;
MasTemp[t-1][1]= Mas[i];
}
c=0;
}
int ArrRange=ArrayRange(MasTemp,0);
if(ArrRange>0) {
ArraySort(MasTemp);
// Comment("Цифра: ",MasTemp[ArrRange-1][1],", Количество: ",MasTemp[ArrRange-1][0]);
return( MasTemp[ArrRange-1][1] );
}
return(-1);
}
Hay ... Soy un bicho raro... Pensé que venía de allí, pero vino de otro lugar.
template <typename T>
int Strange( const T &InArray[], const int Repeat = 2 )
{
int Res = 0;
T Array[];
const int Size = ArraySize(InArray);
if ((ArrayCopy(Array, InArray) == Size) && ArraySort(Array))
{
int Tmp = 1;
for (int i = 1; i < Size; i++, Tmp++)
if (Array[i - 1] != Array[i]) // если будут структуры, то есть более универсальная запись
{
if (Tmp >= Repeat)
Res++;
Tmp = 0;
}
if (Tmp >= Repeat)
Res++;
}
return(Res);
}
void OnStart()
{
int Array[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
for (int i = 1; i <= 4; i++)
Print(Strange(Array, i));
}
Resumido
Tal vez)
Resumido por
Esto es interesante
Con esta notación, un Array no sólo puede ser un tipo numérico, sino cualquier estructura simple.
Otra cosa es que ArraySort para estructuras, por supuesto, no funciona.
Con esta notación, un Array no sólo puede ser un tipo numérico, sino cualquier estructura simple.
Otra cosa es que ArraySort para estructuras, por supuesto, no funciona.
Exactamente... Pero las estructuras suelen ser muy complejas. Y todavía hay que clasificarlos...
Los complejos contienen objetos (cadenas, por ejemplo).
MqlTick es una estructura simple.
MqlTradeRequest - complejo.
ArraySort se puede escribir fácilmente para estructuras simples.