주어진 요소의 배열 지우기 - 페이지 18 1...111213141516171819202122232425...30 새 코멘트 Konstantin Nikitin 2018.11.16 11:52 #171 Vladimir Pastushak : 나는 구조에서 전체 구조가 아니라 필드의 이동이 있다는 것을 알아 냈습니다 ... 아이디어에 대한 간단한 유형의 구조가 작동해야 하는 경우. Реter Konow 2018.11.16 11:59 #172 또 다른 뉘앙스. 알고리즘의 정확성을 증명했습니다. 기능이 실행된 후 출력된 값을 가져왔습니다. 다른 알고리즘이 얼마나 잘 작동하는지는 미스터리로 남아 있습니다. 그러나 체크섬처럼 정확성을 증명합니다. Nikolai Semko 2018.11.16 12:01 #173 Реter Konow : 추신. 어쨌든 내 결정에 따라 함수를 작성할 때 한 가지 실수를 저질렀습니다. 난 그러면 안돼 ㅏ 어쨌든 감사합니다. 아니요, 제가 실수한 것이 아니라 당신의 실수를 수정했습니다. 당신의 라인이 하는 일에 대해 생각해 보세요. 시도하고 변경하면 알 수 있습니다. 잘못된 체크섬과 잘못된 크기가 있습니다. Stanislav Dray 2018.11.16 12:09 #174 Реter Konow : 추신. 어쨌든 내 결정에 따라 함수를 작성할 때 한 가지 실수를 저질렀습니다. 난 그러면 안돼 ㅏ 귀하의 코드에서는 동등합니다 Реter Konow 2018.11.16 12:09 #175 Nikolai Semko : 아니요, 제가 실수한 것이 아니라 당신의 실수를 수정했습니다. 당신의 라인이 하는 일에 대해 생각해 보세요. 그녀는 아무것도하지 않습니다. 시도하고 변경하면 알 수 있습니다. 잘못된 체크섬과 잘못된 크기가 있습니다. 결과는 정확히 동일합니다. 오류가 없습니다. 예, 아무 것도 하지 않습니다. 그러나 그녀는 더 명확합니다. )) Реter Konow 2018.11.16 12:10 #176 Stanislav Dray : 귀하의 코드에서는 동등합니다 네. Nikolai Semko 2018.11.16 12:22 #177 Реter Konow : 네. 그리고 네, 죄송합니다. 나는 기억했다. 여기에서 코드를 받았습니다. 귀하의 라인은 거기에 없었고 올바르게 작동하기 위해 이 라인을 추가해야 했던 것을 기억합니다. 피터 코노우 : 그러나 그녀는 더 명확합니다. )) 여기에는 추가 수학 연산이 있습니다.)) Реter Konow 2018.11.16 12:23 #178 문제. 이 코드 에서 배열의 크기를 변경한 후에도 변경 전과 동일하게 인쇄되는 이유는 무엇입니까? //+------------------------------------------------------------------+ //| Erase and Resize.mq5 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" //-------------------------------------------------------------------- //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { int Arr[ 20 ] = { 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 }; ulong q1 = GetMicrosecondCount (); //-------------------------------- PeterArray(Arr, 3 ); //-------------------------------- ulong q2 = GetMicrosecondCount (); //-------------------------------- Print ( "Array new size " , ArraySize (Arr), " Тime of operation " ,q2-q1); ArrayPrint (Arr); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int PeterArray( int &Arr[], int val) // вариант Peter Konow { int deleted= 0 ,q= 0 ; for ( int a1= 0 ; a1< ArraySize (Arr); a1++) { if (deleted)Arr[q]=Arr[q+deleted]; if (Arr[q]==val){deleted++; q--;} q++; } ArrayResize (Arr, ArraySize (Arr) - deleted); return (q); } //+------------------------------------------------------------------+ 이것은 체크섬을 사용하여 알고리즘을 확인하는 것의 정확성에 의문을 제기합니다. 즉, 체크섬을 계산할 때 배열을 반복하여 이전 요소를 계속 저장합니까? 알고리즘을 내 방식대로 확인할 것을 제안합니다. 20개의 값에서 배열을 추론했습니다. 이것은 속도가 아니라 정확성에 대한 테스트가 될 것입니다. Nikolai Semko 2018.11.16 12:31 #179 Реter Konow : 문제. 이 코드에서 배열의 크기를 변경한 후에도 변경 전과 동일하게 인쇄되는 이유는 무엇입니까? 이것은 체크섬을 사용하여 알고리즘을 확인하는 것의 정확성에 의문을 제기합니다. 즉, 체크섬을 계산할 때 배열을 반복하여 이전 요소를 계속 저장합니까? 나는 내 방식대로 알고리즘을 점검할 것을 제안한다. 20개의 값에서 배열을 추론했습니다. 이것은 속도가 아니라 정확성에 대한 테스트가 될 것입니다. 나는 백만을 제안한다. 왜냐하면 테스트에서 백만. 모두가 앉아서 비교하게하십시오.))) Реter Konow 2018.11.16 12:41 #180 Nikolai Semko : 나는 백만을 제안한다. 왜냐하면 테스트에서 백만. 모두가 앉아서 비교하게하십시오.))) 체크섬이 잘못 계산되었습니다. 직접 확인하십시오. 배열에서 제거된 부분에 남아 있는 요소를 계산합니다. //+------------------------------------------------------------------+ //| Erase and Resize.mq5 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" //-------------------------------------------------------------------- //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { int Arr[ 20 ] = { 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 }; ulong q1 = GetMicrosecondCount (); //-------------------------------- PeterArray(Arr, 3 ); //-------------------------------- ulong q2 = GetMicrosecondCount (); //-------------------------------- Print ( "Array new size " , ArraySize (Arr), " Тime of operation " ,q2-q1, " Контрольная сумма: " ,ControlSumm(Arr)); ArrayPrint (Arr); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int PeterArray( int &Arr[], int val) // вариант Peter Konow { int deleted= 0 ,q= 0 ; for ( int a1= 0 ; a1< ArraySize (Arr); a1++) { if (deleted)Arr[q]=Arr[q+deleted]; if (Arr[q]==val){deleted++; q--;} q++; } ArrayResize (Arr, ArraySize (Arr) - deleted); return (q); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ long ControlSumm( int &a[]) // суммирование всех элементов массива (контрольная сумма) { long sum= 0 ; for ( int i= 0 ; i< ArraySize (a); i++) sum+=a[i]; return sum; } //+------------------------------------------------------------------+ 물론 아직 검증이 틀렸다는 증거는 아니지만 이미 의심이 가는 부분이다. 체크섬은 이 시리즈의 요소에서 계산됩니다. 2018.11 . 16 14 : 36 : 28.456 Erase and Resize (USDJPY,H1) 1 2 1 2 1 2 1 2 1 2 1 2 1 2 3 1 2 3 1 2 또한 마지막 6개 요소는 이전 에 ArrayResize에 의해 제거되었습니다. 그러나 함수는 여전히 계산합니다. 1...111213141516171819202122232425...30 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
나는 구조에서 전체 구조가 아니라 필드의 이동이 있다는 것을 알아 냈습니다 ...
아이디어에 대한 간단한 유형의 구조가 작동해야 하는 경우.
또 다른 뉘앙스. 알고리즘의 정확성을 증명했습니다. 기능이 실행된 후 출력된 값을 가져왔습니다. 다른 알고리즘이 얼마나 잘 작동하는지는 미스터리로 남아 있습니다.
그러나 체크섬처럼 정확성을 증명합니다.
추신. 어쨌든 내 결정에 따라 함수를 작성할 때 한 가지 실수를 저질렀습니다.
난 그러면 안돼
ㅏ
어쨌든 감사합니다.
추신. 어쨌든 내 결정에 따라 함수를 작성할 때 한 가지 실수를 저질렀습니다.
난 그러면 안돼
ㅏ
귀하의 코드에서는 동등합니다
아니요, 제가 실수한 것이 아니라 당신의 실수를 수정했습니다. 당신의 라인이 하는 일에 대해 생각해 보세요. 그녀는 아무것도하지 않습니다. 시도하고 변경하면 알 수 있습니다. 잘못된 체크섬과 잘못된 크기가 있습니다.
결과는 정확히 동일합니다. 오류가 없습니다.
예, 아무 것도 하지 않습니다. 그러나 그녀는 더 명확합니다. ))
귀하의 코드에서는 동등합니다
네.
네.
그리고 네, 죄송합니다.
나는 기억했다.
여기에서 코드를 받았습니다.
귀하의 라인은 거기에 없었고 올바르게 작동하기 위해 이 라인을 추가해야 했던 것을 기억합니다.
그러나 그녀는 더 명확합니다. ))
여기에는 추가 수학 연산이 있습니다.))
문제. 이 코드 에서 배열의 크기를 변경한 후에도 변경 전과 동일하게 인쇄되는 이유는 무엇입니까?
이것은 체크섬을 사용하여 알고리즘을 확인하는 것의 정확성에 의문을 제기합니다. 즉, 체크섬을 계산할 때 배열을 반복하여 이전 요소를 계속 저장합니까?
알고리즘을 내 방식대로 확인할 것을 제안합니다. 20개의 값에서 배열을 추론했습니다.
이것은 속도가 아니라 정확성에 대한 테스트가 될 것입니다.문제. 이 코드에서 배열의 크기를 변경한 후에도 변경 전과 동일하게 인쇄되는 이유는 무엇입니까?
이것은 체크섬을 사용하여 알고리즘을 확인하는 것의 정확성에 의문을 제기합니다. 즉, 체크섬을 계산할 때 배열을 반복하여 이전 요소를 계속 저장합니까?
나는 내 방식대로 알고리즘을 점검할 것을 제안한다. 20개의 값에서 배열을 추론했습니다.
이것은 속도가 아니라 정확성에 대한 테스트가 될 것입니다.나는 백만을 제안한다. 왜냐하면 테스트에서 백만. 모두가 앉아서 비교하게하십시오.)))
체크섬이 잘못 계산되었습니다.
직접 확인하십시오. 배열에서 제거된 부분에 남아 있는 요소를 계산합니다.
물론 아직 검증이 틀렸다는 증거는 아니지만 이미 의심이 가는 부분이다.
체크섬은 이 시리즈의 요소에서 계산됩니다.
또한 마지막 6개 요소는 이전 에 ArrayResize에 의해 제거되었습니다.
그러나 함수는 여전히 계산합니다.