문제를 해결할 수 있는 몇 가지 옵션이 있지만 계속해서 더 나은 솔루션을 찾고 다른 사람들로부터 배웁니다.
당신은 몇 년 동안 이러한 질문을 해왔습니다. 많이 배웠습니까? 죄송합니다. 하지만 두 분이 모두 바이트 열과 기본 배열 수준을 수정하고 그대로 두신 것이 분명합니다.
질문 자체가 잘못되었습니다. 작업은 중복 값(OGE 수준의 작업)을 제거하는 것이 아니라 더 많은 것, 분명히 유효한 요소 목록을 업데이트하는 것입니다. 그렇다면 질문은 상당히 다르게 들릴 것입니다. 당신은 참가자들, 그리고 무엇보다 당신 자신을 혼란스럽게 하고 오도합니다. 참가자들에게 원칙적으로 잘못된 결정을 부과하고 그것을 효과적으로 만들도록 요청하십시오.
글쎄, 순전히 당면한 작업에 관한 것입니다. 값을 제거하고 비우십시오.
기준에 따라 필터링하고 개선할 수 있도록 다른 기능을 추가하십시오. 컬렉션으로 드래그할 수도 있습니다 :-)
뭔가
예를 들어 3보다 큰 모든 값을 가져오려면 arrayFilter<long>(array,3,GreaterThen<long>)
MQL 템플릿을 사용하여 이 작업을 쉽게 수행할 수 있는지 확신할 수 없습니다.
나는 부과하지 않습니다.
감사합니다 오늘도 친절하세요 :-)
작업별로. IMHO CArrayDouble 과 같은 데이터 컬렉션에서 이러한 유형으로 작업하는 것이 더 편리합니다. 내 예:
사실, 단점이 있습니다. 출력은 정렬된 배열입니다.
오, 때로는 침묵을 유지하고 바보처럼 보이는 것이...
어떤 말보다 모든 의심을 없애고 ....
1,2,3,6,9,5,6,3,25,6,8,7,4 유형의 데이터 세트를 포함하는 배열이 있습니다. 예를 들어 3의 값은 다음과 같아야 합니다. 삭제되고 출력은 3과 빈 공간이 없는 동일한 배열이 됩니다. ...
정크 값 배열을 지우는 가장 빠른 방법을 찾고 있습니다...
예가 떠오른다
더 저렴하고 빠른 방법이 있습니까?
배열을 반복하고 불필요한 값을 제거하면 제거된 셀 대신 다음 셀의 값을 덮어씁니다. 지워진 값 다음의 모든 값 을 왼쪽으로 이동 하고 카운터에서 지워진 값의 수를 셉니다.
그런 다음 지워진 값의 수를 고려하여 ArrayResize()를 수행합니다.
위협. 지워야 할 값은 옮기지 마세요. 지우는 값을 제외한 모든 값을 왼쪽으로 이동할 수 있습니다.
왼쪽으로 값의 이동은 지워진 셀의 수와 같아야 합니다.
어리석은 질문, 그것은 묻는 질문이 아닙니다.
문제를 해결할 수 있는 몇 가지 옵션이 있지만 계속해서 더 나은 솔루션을 찾고 다른 사람들로부터 배웁니다.
당신은 몇 년 동안 이러한 질문을 해왔습니다. 많이 배웠습니까? 죄송합니다. 하지만 두 분이 모두 바이트 열과 기본 배열 수준을 수정하고 그대로 두신 것이 분명합니다.
질문 자체가 잘못되었습니다. 작업은 중복 값(OGE 수준의 작업)을 제거하는 것이 아니라 더 많은 것, 분명히 유효한 요소 목록을 업데이트하는 것입니다. 그렇다면 질문은 상당히 다르게 들릴 것입니다. 당신은 참가자들, 그리고 무엇보다 당신 자신을 혼란스럽게 하고 오도합니다. 참가자들에게 원칙적으로 잘못된 결정을 부과하고 그것을 효과적으로 만들도록 요청하십시오.
배열을 반복하고 불필요한 값을 제거하면 제거된 셀 대신 다음 셀의 값을 덮어씁니다. 지워진 값 다음의 모든 값 을 왼쪽으로 이동 하고 카운터에서 지워진 값의 수를 셉니다.
그런 다음 지워진 값의 수를 고려하여 ArrayResize()를 수행합니다.
위협. 지워야 할 값은 옮기지 마세요. 지우는 값을 제외한 모든 값을 왼쪽으로 이동할 수 있습니다.
왼쪽으로 값의 이동은 지워진 셀의 수와 같아야 합니다.
이 옵션을 확인하십시오.
죄송합니다. 행을 변경해야 할 것 같습니다.
죄송합니다. 행을 변경해야 할 것 같습니다.
수수께끼: 말비나가 그에게 사과 두 개를, 파파 카를로가 사과 세 개를 주면 피노키오에게 사과가 몇 개나 될까요?
답: 열. 소스 변수를 초기화해야 합니다.
죄송합니다. 행을 변경해야 할 것 같습니다.
또 다른 개선 사항: