MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 144
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
zaten kafam karıştı)
Bir diziniz var:
İşlev sonunda ne döndürmeli ve neden? Her sayı için eşleşme sayısı veya belirli bir maksimum sayı veya ... Bir şey yazdım , ama muhtemelen öyle değil, öyle değil mi?
Nasıl anlatacağımı bilmiyorum...
Bir dizi görüyoruz: 1 , 2 , 3 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3,
Aynı sayıları aynı renkle işaretleriz (sayı tek bir kopyadaysa, bunun için çift yoktur - gerekli değildir):
1 , 2 , 3 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3
Farklı renge sahip sayıları sayıyoruz: 3 - sonuç bu.
Eski kodu kontrol ettiniz mi? Tekrar kontrol et .
Nasıl anlatacağımı bilmiyorum...
Bir dizi görüyoruz: 1 , 2 , 3 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3,
Aynı sayıları aynı renkle işaretleriz (sayı tek bir kopyadaysa, bunun için çift yoktur - gerekli değildir):
1 2 3 1 2 1 2 2 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3
Farklı renge sahip sayıları sayıyoruz: 3 - sonuç bu.
Belki)
{
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 );
}
İşte ... Ben biraz garipim ... Oradan aldım, ama başka bir yerden çıktı
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));
}
genelleştirilmiş
Belki)
genelleştirilmiş
ilginç
Böyle bir gösterimle, Array yalnızca sayısal bir tür değil, aynı zamanda herhangi bir basit yapı olabilir.
Başka bir şey de, yapılar için ArraySort'un elbette çalışmamasıdır.
Böyle bir gösterimle, Array yalnızca sayısal bir tür değil, aynı zamanda herhangi bir basit yapı olabilir.
Başka bir şey de, yapılar için ArraySort'un elbette çalışmamasıdır.
İşte bu kadar ... Ve yapılar genellikle karmaşıktır. Ve hala sıralanmaları gerekiyor ...
Karmaşık olanlar nesneler içerir (örneğin dizeler).
MqlTick basit bir yapıdır.
MqlTradeRequest karmaşıktır.
ArraySort ve basit yapılar için yazmak kolaydır.