[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 370

 

안녕하세요!

말씀해주세요.....

Indic_mas[]//주배열

Indic_mas_copi[]// 기본 배열이 복사되는 배열입니다.

n //Indic_mas_copi[]의 요소 수

1. 항목 Indic_mas_copi[n]=0은 배열의 모든 요소 를 0으로 재설정했음을 의미합니까?

2. 특정 작업을 수행한 후 Indic_mas_copi[] 배열이 일부 요소의 값을 변경했습니다.

다음 반복은 Indic_mas[]를 Indic_mas_copi[]로 복사하는 것을 반복합니다.

이 복사 전에 Indic_mas_copi[]를 0(또는 비어 있음)으로 설정해야 합니까?

아니면 Indic_mas[] 요소가 이전 Indic_mas_copi[] 요소를 자동으로 대체합니까?

 
LOA :

안녕하세요!

말씀해주세요.....

Indic_mas[]//주배열

Indic_mas_copi[]// 기본 배열이 복사되는 배열입니다.

n //Indic_mas_copi[]의 요소 수

1. 항목 Indic_mas_copi[n]=0은 배열의 모든 요소를 0으로 만들었다는 의미입니까?

2. 특정 작업을 수행한 후 Indic_mas_copi[] 배열이 일부 요소의 값을 변경했습니다.

다음 반복은 Indic_mas[]를 Indic_mas_copi[]로 복사하는 것을 반복합니다.

이 복사 전에 Indic_mas_copi[]를 0(또는 비어 있음)으로 설정해야 합니까?

아니면 Indic_mas[] 요소가 이전 Indic_mas_copi[] 요소를 자동으로 대체합니까?


1. n이 Indic_mas_copi[]의 요소 수이면 Indic_mas_copi[n] 레코드가 올바르지 않습니다. 이 레코드에서 배열을 넘어서기 때문입니다. 배열 셀의 번호는 0 셀부터 시작한다는 것을 잊지 마십시오. 따라서 액세스할 수 있는 배열의 마지막 셀 번호는 n-1입니다.

2. 교체가 있을 것입니다. 스크립트로 확인해보세요.

 
drknn :


1. n이 Indic_mas_copi[]의 요소 수이면 Indic_mas_copi[n] 레코드가 올바르지 않습니다. 이 레코드에서 배열을 넘어서기 때문입니다. 배열 셀의 번호는 0 셀부터 시작한다는 것을 잊지 마십시오. 따라서 액세스할 수 있는 배열의 마지막 셀 번호는 n-1입니다.

2. 교체가 있을 것입니다. 스크립트로 확인해보세요.


대단히 감사합니다, 블라디미르!

그런 다음 배열의 요소 를 0으로 만들려면 다음이 필요합니까?

 double i;
for (i=n- 1 ;i>= 0 ;i--)Indic_mas_copi[i]= 0 ; 
 
LOA :


정말 감사합니다, 블라디미르!

그런 다음 배열의 요소를 0으로 만들려면 다음이 필요합니까?


아니오 - 너무 복잡합니다. 더 쉬운 방법이 있습니다.

int 배열초기화 ( 이중 및 배열[], 이중 값)
숫자 배열의 모든 요소를 동일한 값으로 설정합니다. 초기화된 요소의 수를 반환합니다.

대괄호 안에 배열 이름을 지정하고 두 번째 매개변수를 0으로 설정합니다. 결과적으로 배열의 모든 요소는 0으로 설정됩니다.

 
LOA :


대단히 감사합니다, 블라디미르!

그런 다음 배열의 요소를 0으로 만들려면 다음이 필요합니까?

ArrayInitialize (배열 이름, 0);
 
아... 블라디미르가 앞서 있었다... :)
 
artmedia70 :
ArrayInitialize(배열 이름, 0);

그런 다음 다음과 같이 더 좋습니다. https://docs.mql4.com/en/array/ArrayInitialize - 특정 코드 예제가 있습니다.
 
drknn :


아니오 - 너무 복잡합니다. 더 쉬운 방법이 있습니다.

int 배열초기화 ( 이중 및 배열[], 이중 값)
숫자 배열의 모든 요소를 동일한 값으로 설정합니다. 초기화된 요소의 수를 반환합니다.

대괄호 안에 배열 이름을 지정하고 두 번째 매개변수를 0으로 설정합니다. 결과적으로 배열의 모든 요소는 0으로 설정됩니다.


덕분에. 그 방법은 정말 쉽습니다.

그러면 일부 요소를 재설정해야 하는 상황에서 사이클을 사용할 수 있습니까?

또는 하나의 요소를 통해.

 
LOA :

안녕하세요!

말씀해주세요.....

Indic_mas[]//주배열

Indic_mas_copi[]// 기본 배열이 복사되는 배열입니다.

n //Indic_mas_copi[]의 요소 수

1. 항목 Indic_mas_copi[n]=0은 배열의 모든 요소를 0으로 만들었다는 의미입니까?

2. 특정 작업을 수행한 후 Indic_mas_copi[] 배열이 일부 요소의 값을 변경했습니다.

다음 반복은 Indic_mas[]를 Indic_mas_copi[]로 복사하는 것을 반복합니다.

이 복사 전에 Indic_mas_copi[]를 0(또는 비어 있음)으로 설정해야 합니까?

아니면 Indic_mas[] 요소가 이전 Indic_mas_copi[] 요소를 자동으로 대체합니까?

아니요, 반드시 그런 것은 아닙니다. Indic_mas_copi[] 배열의 모든 요소는 기본 Indic_mas[] 배열에서 복사된 요소로 대체됩니다.
 
LOA :


덕분에. 그 방법은 정말 쉽습니다.

그러면 일부 요소를 재설정해야 하는 상황에서 사이클을 사용할 수 있습니까?

또는 하나의 요소를 통해.


루프는 일부 요소를 재설정하거나 다시 초기화해야 할 때 사용할 수 있습니다... 루프는 모든 요소를 하나씩 반복합니다. 따라서 루프 내에서 원하는 배열 셀이 정렬되는 규칙을 도입할 수 있습니다. 예를 들어, 음수만 분리하고 두 배로 늘려야 합니다. 따라서 루프에서 다음을 작성합니다.

현재 배열 셀의 값이 0보다 작으면 해당 배열 셀의 값에 2를 곱한 값을 취합니다. 그렇지 않으면 계속

추신

 if (massiv[i]< 0 ){
  massiv[i]=massiv[i]* 2 ;
}
else {
   continue ;
}
프로세서의 관점에서 볼 때 정확히 두 배가되어야하는 것을 미리 알고 있다면 곱셈보다 덧셈을 적용하는 것이 좋습니다. 덧셈은 프로세서 시간이 덜 걸립니다.