함수는 결국 무엇을 반환해야 하며 그 이유는 무엇입니까? 각 숫자에 대한 일치 수, 또는 특정 최대 숫자, 또는 ... 내가 뭔가를 썼지 만 아마도 그렇지 않을 것입니다.
나는 뭐라고 설명 해야할지 모르겠어...
다음과같은배열이보입니다._______________삼, 동일한 색상으로 동일한 숫자를 표시합니다(숫자가 단일 사본에 있는 경우 이중 중복이 없습니다. 필요하지 않음). 12312122111333333333333 색상이 다른 숫자의 수를 계산합니다. 3 - 이것이 결과입니다.
Artyom Trishkin : 여기 ... 내가 좀 이상해 ... 나는 거기에서 일종의 가져 갔다. 그러나 그것은 다른 곳에서 나왔다.
일반화
// Возвращает количество различных элементов массива, которых не меньше 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++;
난 이미 혼란스러워)
배열이 있습니다.
함수는 결국 무엇을 반환해야 하며 그 이유는 무엇입니까? 각 숫자에 대한 일치 수, 또는 특정 최대 숫자, 또는 ... 내가 뭔가를 썼지 만 아마도 그렇지 않을 것입니다.
나는 뭐라고 설명 해야할지 모르겠어...
다음 과 같은 배열 이 보입니다 . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 삼,
동일한 색상으로 동일한 숫자를 표시합니다(숫자가 단일 사본에 있는 경우 이중 중복이 없습니다. 필요하지 않음).
1 2 3 1 2 1 2 2 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3
색상이 다른 숫자의 수를 계산합니다. 3 - 이것이 결과입니다.
이전 코드를 확인 했습니까? 재확인 .
나는 뭐라고 설명 해야할지 모르겠어...
다음 과 같은 배열 이 보입니다 . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 삼,
동일한 색상으로 동일한 숫자를 표시합니다(숫자가 단일 사본에 있는 경우 이중 중복이 없습니다. 필요하지 않음).
1 , 2 , 3 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3
색상이 다른 숫자의 수를 계산합니다. 3 - 이것이 결과입니다.
아마도)
{
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 );
}
여기 ... 내가 좀 이상해 ... 나는 거기에서 일종의 가져 갔다. 그러나 그것은 다른 곳에서 나왔다.
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));
}
일반화
아마도)
일반화
그 흥미 롭군요
이러한 표기법을 사용하면 Array는 숫자 유형일 뿐만 아니라 모든 단순 구조 가 될 수 있습니다.
또 다른 점은 구조체용 ArraySort는 물론 작동하지 않는다는 것입니다.
이러한 표기법을 사용하면 Array는 숫자 유형일 뿐만 아니라 모든 단순 구조 가 될 수 있습니다.
또 다른 점은 구조체용 ArraySort는 물론 작동하지 않는다는 것입니다.
그게 다야 ... 그리고 구조는 일반적으로 복잡합니다. 그리고 그들은 여전히 정렬해야합니다 ...
복잡한 것은 객체를 포함합니다(예: 문자열).
MQlTick은 간단한 구조입니다.
MqlTradeRequest 는 복잡합니다.
ArraySort 및 간단한 구조의 경우 작성하기 쉽습니다.