MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1921

 
그리고 실제로 더 개발하면 ArrayI와 일치하지 않는 요소만 ArrayJ에 복사하여 주기 1과 2를 결합할 수 있습니다.
 
x572intraday 합니다 .

핵심 라인이 강조 표시됩니다. 결과:

예상되는:

ArrayJ는 동적입니다. 뭔가 잘못된 것 같지만 ... 정적이 필요하지 않습니다.

나는 내 마음을 다 무너뜨렸다. 차던트? 아니면 정말 오래된 노래의 아날로그인가요?

https://www.mql5.com/ru/forum/1111/page3141#comment_27152680

그리고

https://www.mql5.com/ru/forum/1111/page3142#comment_27371998

명명된 상수에 대해?

추가 주기가 있습니다.

올바른 옵션은 다음과 같습니다.

 void OnStart ()
{
   int CommonArray[]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 13 , 13 , 13 , 13 , 13 , 13 , 13 };
   int ArrayI[ 20 ]=   { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 8 , 9 , 10 ,   0 , 12 , 13 , 13 , 13 , 13 ,   0 ,   0 , 13 ,   0 };
   int ArrayJ[];

   for ( int j= 0 ; j< ArraySize (ArrayI); j++)
   {
       ArrayResize (ArrayJ,j+ 1 );
      ArrayJ[j]=CommonArray[j];
   }

   ArrayPrint (ArrayI);
   ArrayPrint (ArrayJ);

         for ( int i = ArraySize ( ArrayI )- 1 ; i >= 0 ; i-- ){
                 if ( ArrayI[i] > 0 && ArrayI[i] == ArrayJ[i] ){
                         ArrayRemove ( ArrayJ, i, 1 );
                }
        }

   ArrayPrint ( ArrayJ );
//---
}
 
EVGENII SHELIPOV # :

자신을 찢지 마십시오 알렉산더

알렉산더는 왜? 저는 안드레이입니다.

" 자신을 찢지 마십시오"- 설명하십시오.

 
Koldun Zloy # :

추가 주기가 있습니다.

올바른 옵션은 다음과 같습니다.

추가 루프에 대해 ... 여기에는 적절하지 않을 수 있지만 큰 코드에서는 필요하므로 여기로 마이그레이션했습니다. 지금은 알고리즘의 정확성을 확인할 힘이 없지만 공식적으로는 필요에 따라 작동합니다.

JRandomTrader , 결과는 모두 0이었습니다. 나중에 다시 확인하겠습니다.

모두에게 감사합니다.

JRandomTrader
JRandomTrader
  • 2018.10.28
  • www.mql5.com
Профиль трейдера
 
int CommonArray[]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 13 , 13 , 13 , 13 , 13 , 13 , 13 };
int ArrayI[ 20 ]=   { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 8 , 9 , 10 ,   0 , 12 , 13 , 13 , 13 , 13 ,   0 ,   0 , 13 ,   0 };
int ArrayJ[];

int CommonOffset= 0 ; // или сколько надо

ArrayResize (ArrayJ, ArraySize (ArrayI));
int k= 0 ;
for ( int j= 0 ; j< ArraySize (ArrayI); j++)
   if (ArrayI[j]!=CommonArray[j+CommonOffset])
      ArrayJ[k++]=CommonArray[j+CommonOffset];
ArrayResize (ArrayJ,k);

그런 것.

그리고 0은 내 잼입니다. 거기에 다음이 필요합니다.

 int k= 0 ; // объявляем до цикла - чтобы использовать после
for ( int i= 0 ; i< ArraySize (ArrayI); i++) // после предыдущего кода (1) размеры ArrayI и ArrayJ равны
   if (ArrayI[i]!=ArrayJ[i])
    {
     -ArrayJ[k++]=ArrayI[i];
     +ArrayJ[k++]=ArrayJ[i];
    }
ArrayResize (ArrayJ,k);


 
Tretyakov Rostyslav # :

여기요

 
Tretyakov Rostyslav # :

에게!

당신은 그 정보를 사용하고 있지 않습니다.

 
Vitaly Muzichenko # :

에게!

당신은 그 정보를 사용하고 있지 않습니다.

그리고 무엇이 필요합니까?
 
Tretyakov Rostyslav # :
그리고 무엇이 필요합니까?

또 다른

 
Tretyakov Rostyslav # :
그리고 무엇이 필요합니까?

당신은 택시 운전사가 아니라 프로그래머입니다. 당신은 결과가 아니라 원인을 찾아야 합니다. 그러면 모든 것이 제자리에 들어갈 것입니다.