주어진 요소의 배열 지우기 - 페이지 20

 
Peter, 당신은 독특한 프로그래밍 스타일을 가지고 있습니다. 요컨대, 당신은 때문에가 아니라 그럼에도 불구하고 프로그래밍하고 있습니다.
 
Реter Konow :

권리. 그러나 제공된 알고리즘이 빈 공간을 남기지 않는다는 것을 어떻게 알 수 있습니까? 체크섬은 이것을 증명하지 않습니다. 요소의 수도 있습니다. 결국 이 함수는 배열의 크기가 조정되기 전의 요소를 계산합니다.

구현에 도달했지만 정적 배열의 버그가 수정되었습니다.

 int arrayFilter2( int &Test[], const int value)
  {
   int s,_s=s= ArraySize (Test);
   bool result= false ;

   for ( int i= 0 ,j= 0 ; i<_s; i++,j++)
     {
       if (Test[i]==value) // || Test[i]==NULL)
        {
         result= true ;
         s--;
         j--;
         continue ;
        }
       if (result)
         Test[j]=Test[i];
     }

   if (s<_s)
       if ( ArrayResize (Test,s))
         if ( ArraySize (Test)==_s)
             ArrayFill (Test,s,_s-s, NULL ) ;

   return s;
  }

이제 정적이면 꼬리를 지웁니다.

파일:
 
Реter Konow :

권리. 그러나 제공된 알고리즘이 빈 공간을 남기지 않는다는 것을 어떻게 알 수 있습니까? 체크섬은 이것을 증명하지 않습니다. 요소의 수도 있습니다. 결국 이 함수는 배열의 크기가 조정되기 전의 요소를 계산합니다.

첫 번째 버전이 아닌 최신 버전의 코드를 살펴봐야 합니다.
오랫동안 배열의 요소 순서를 고려하는 이러한 체크섬이 사용되었습니다.

 double ControlSumm( int &a[]) 
  {
   double sum= 0 ;
   for ( int i= 0 ; i< ArraySize (a); i++) sum+=( double )a[i]/(i+ 1 );
   return sum;
  }
 

3차 테스트에서 실수를 수정하고 내 기능을 수정했습니다.

파일:
 
Nikolai Semko :

첫 번째 버전이 아닌 최신 버전의 코드를 살펴봐야 합니다.
오랫동안 배열의 요소 순서를 고려하는 이러한 체크섬이 사용되었습니다.

정확성에 대한 시각적 증거가 필요합니다. 이렇게 하려면 일련의 20개 숫자로 충분합니다. 알고리즘이 이 테스트를 통과하면 속도를 테스트할 수 있습니다.

수행된 테스트는 블라인드 테스트입니다.

아마도 모든 알고리즘이 올바르게 작동하거나 리더가 자리를 떠날 것입니다.

 
Реter Konow :

정확성에 대한 시각적 증거가 필요합니다. 이렇게 하려면 일련의 20개 숫자로 충분합니다. 알고리즘이 이 테스트를 통과하면 속도를 테스트할 수 있습니다.

체크섬의 임무는 체크섬이 같을 때 배열이 동일하다는 것을 보장하는 것이 아니라 체크섬이 다르면 배열이 다르다는 것을 보장하는 것입니다.

 
Nikolai Semko :

체크섬의 임무는 체크섬이 같을 때 배열이 동일하다는 것을 보장하는 것이 아니라 체크섬이 다르면 배열이 다르다는 것을 보장하는 것입니다.

Nikolai, 내 예제를 사용하고 20개 요소의 배열로 알고리즘을 테스트하는 것이 어렵지 않습니까? 결과에 표시만 하시겠습니까?

 
Реter Konow :

정확성에 대한 시각적 증거가 필요합니다. 이렇게 하려면 일련의 20개 숫자로 충분합니다. 알고리즘이 이 테스트를 통과하면 속도를 테스트할 수 있습니다.

수행된 테스트는 블라인드 테스트입니다.

아마도 모든 알고리즘이 올바르게 작동하거나 리더가 자리를 떠날 것입니다.

음, 체크섬을 신뢰하지 않는지 확인하십시오. 그렇다면 무엇이 문제입니까?

 
Реter Konow :

Nikolai, 내 예제를 사용하고 20개 요소의 배열로 알고리즘을 테스트하는 것이 어렵지 않습니까? 결과에 표시만 하시겠습니까?

20개 요소의 배열로 함수의 속도를 평가하는 것은 불가능합니다. 그리고 이것이 이 스레드의 요점입니다.

 
Nikolai Semko :

20개 요소의 배열로 함수의 속도를 평가하는 것은 불가능합니다. 그리고 이것이 이 스레드의 요점입니다.

알고리즘에 대한 또 다른 요구 사항이 있습니다. 즉, 불필요한 요소를 제거한 후 배열 내부에 요소를 올바르게 배치해야 합니다. 이 검사를 먼저 수행했어야 합니다. 다음으로 속도 테스트입니다.