PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 17

 
Dizeleri bir tamsayı dizisine dönüştürmenin gerekli olduğunu doğru anlıyor muyum?
 
hrenfx :
Dizeleri bir tamsayı dizisine dönüştürmenin gerekli olduğunu doğru anlıyor muyum?
Unicode'da. Daha sonra bir DLL ile değiştirmek için bir tamsayı dizisi
 

Bu?

 #define SIZEOF_INT 4
#define BYTE_BITS 8
#define SIZEOF_ANSI 1
#define SIZEOF_UNICODE 2

void StringToINT( string Str, int & Buffer[], bool UniCode = FALSE )
{
   int Koef;
  
   if (UniCode)
    Koef = SIZEOF_UNICODE;
   else
    Koef = SIZEOF_ANSI;
    
   int i = 0 , j, Len = StringLen (Str);
   int Pos = 0 , Size =  Koef * Len / SIZEOF_INT;
    
   if ((Koef * Len) % SIZEOF_INT > 0 )
    Size++;
    
   ArrayResize (Buffer, Size);
    
   while (i < Len)
  {
    Buffer[Pos] = 0 ;
    
     for (j = 0 ; j < SIZEOF_INT / Koef; j++)
    {
       if (i < Len)
        Buffer[Pos] |= StringGetChar(Str, i) << (Koef * j * BYTE_BITS);
        
      i++;
    }
    
    Pos++;
  }
  
   return ;
}

string INTToString( int & Buffer[], bool UniCode = FALSE )
{
   string Str = "" ;
   int Tmp, Size = ArraySize (Buffer);
   int Koef;
  
   if (UniCode)
    Koef = SIZEOF_UNICODE;
   else
    Koef = SIZEOF_ANSI;
  
   for ( int i = 0 ; i < Size; i++)
  {
    Tmp = Buffer[i];
    
     while (Tmp != 0 )
    {
      Str = Str + CharToStr(Tmp & 0xFF );
      
      Tmp >>= Koef * BYTE_BITS;
    }
  }  
  
   return (Str);
}

void start()
{
   int Buffer[];
   string Str = "abcde" ;
  
  StringToINT(Str, Buffer, FALSE); // ANSI
  Str = INTToString(Buffer, FALSE); // ANSI
   Print ( ArraySize (Buffer));

   Print (Str);

  StringToINT(Str, Buffer, TRUE); // UNICODE
  Str = INTToString(Buffer, TRUE); // UNICODE  

   Print ( ArraySize (Buffer));
   Print (Str);
  
   return ;
} 
 

Yardımlarınız ve katılımınız için hepinize teşekkür ederim.

15. sayfada - Zhunko ve TheXpert zaten beni yola koydu ve her şeyi neredeyse doğru yaptım :)


ancak deneyimsizliğimden dolayı taktım ve CP_ACP yerine MultiByteToWideChar işlevini CP_UTF8'e gönderdim

İlnur'un ortaya çıktığı ve kodumu düzelttiği için Yüce'ye teşekkür ederim, aksi takdirde MT4'teki bu lib'e bir son vermek istedim.


Karar için herkese tekrar teşekkürler, birlikte bir çeteyiz! :)

 
Dosyalar:
 

Normal dağılım çanı içeren bir gösterge geliştiriyorum. Buna göre, çözülmesi gereken sorun buradadır.

Elde edilen sonuçların istatistiksel anlamlılığını değerlendirmek için, N testi sırasında rastgele sürecin standart sapmasının değerini bulmak gerekir. Matematiksel beklenti önceden bilinir ve sıfıra eşittir ve olumlu bir sonuç olasılığı Her denemenin (+1), olumsuz bir sonuç olasılığına (-1) eşittir ve buna göre 0,5'e eşittir.

Örnek 1. İki oyuncu 1000 yazı tura atana kadar oynayacak. Birinin kazancının olacağı aralığın sınırlarını ve buna göre diğerinin kaybını %99,7 olasılıkla belirleyin.

Onlar. tek ihtiyacınız olan bu sigmanın eğrisinin formülü. Sorunun dünya kadar eski olduğunu biliyorum ve bu sapmaları mevcut diziye (LSM) dayanarak kendim hesaplayabilirim, ancak bunu BP'lerin kendileri olmadan kendi başıma hesaplamam gerekiyor.

 
C-4 :

Normal dağılım zili içeren bir gösterge geliştiriyorum. Buna göre, çözülmesi gereken sorun buradadır.

Elde edilen sonuçların istatistiksel anlamlılığını değerlendirmek için, N testi sırasında rastgele sürecin standart sapmasının değerini bulmak gerekir. Matematiksel beklenti önceden bilinir ve sıfıra eşittir ve olumlu bir sonuç olasılığı Her denemenin (+1), olumsuz bir sonuç olasılığına (-1) eşittir ve buna göre 0,5'e eşittir.

Örnek 1. İki oyuncu 1000 yazı tura atana kadar oynayacak. Birinin kazancının olacağı aralığın sınırlarını ve buna göre diğerinin kaybını %99,7 olasılıkla belirleyin.

Onlar. tek ihtiyacınız olan bu sigmanın eğrisinin formülü. Sorunun dünya kadar eski olduğunu biliyorum ve bu sapmaları mevcut diziye (LSM) dayanarak kendim hesaplayabilirim, ancak bunu BP'lerin kendileri olmadan kendi başıma hesaplamam gerekiyor.

C-4

Bu durumda yer alan (ve büyük N için normale iyi yaklaşan) binom dağılımı için, standart sapma (sigma) sqrt(N*p*q)'ya eşittir; burada N sayıdır. denemeler, p, tek bir kazanma olasılığıdır, q = 1 -p - tek bir kayıp olasılığı.

kök eklendi

 

Onlar. kare(1000*0.5*0.5) = kare(250) = 15.81

Buna göre, %99.7 artı veya eksi üç sigma 3 * 15.81 = 47.434'e sığar.

 
Genel olarak, binom şemasının herhangi bir niceliğini yaklaşık olarak belirlemek için Moivre-Laplace (google) integral teoremini kullanabilirsiniz. Ф(х) fonksiyonunun değerleri iyi tablolanmıştır, sayısal entegrasyon gerçekleştiren algoritmalar da vardır. Sorun standart, bu yüzden zaten bir milyon kez çözüldü)
 
alsu :

Onlar. kare(1000*0.5*0.5) = kare(250) = 15.81

Buna göre, %99.7 artı veya eksi üç sigma 3 * 15.81 = 47.434'e sığar.


Tavsiye için teşekkürler. Ancak nedense işlev dar görünüyor:

500 SB kullanıldı ve bir şekilde bunların %99,7'si üç sigmaya uyuyor gibi görünüyor.