2012-02-20 5 views
0

C++ 연습용 통계 프로그램을 빌드 할 때 파일에서 연령대를 추출하여 deque<int> ages에 저장합니다.deque에서 표준 편차를 계산할 수 없습니다.

template <class U> typename U::value_type mean(U begin,U end){ 
    typedef typename U::value_type res_type; 
    res_type sum=res_type(); 
    size_t count=0; 
    for(U pos=begin;pos!=end;++pos){ 
     sum+=*pos; 
     ++count; 
    } 
    return sum/count; 
} 

template <typename T> 
double stan_dev(deque<T>&d){ 
    double dev_sum=0,dev,dev_sqr,st_dev; 
    double mn=mean(d.begin(),d.end()); 
    for(int it=0;it<d.size();++it){ 
     T val=d[it];        
     dev= val-mn;         
     dev_sqr = dev*dev; 
     dev_sum+=dev_sqr; 
     cout<<"\n Deviation at for age # "<<d[it]<<" is "<<dev; 
     cout<<"\n Deviation squared for age # " <<d[it]<<" is "<<dev_sqr; 
     cout<<"\n Summing up so far .. "<<dev_sum; 

    } 
    st_dev=sqrt((dev_sum/d.size())); 
    return st_dev; 
} 

그냥 여기 cout << stan_dev(ages)을 관련 부분을 제공하고, 프로그램 중단 : 나는 표준 편차를 얻으려고 그러나, 나는 오류가 발생합니다. 도와주세요.

+0

함수 mean()은 어떻게 정의됩니까? 너의 문제도 거기에 있을지도 모른다. 디버거를 사용하여 프로그램에 침입하여 최종 결과를 확인 했습니까? –

+0

여기 내 뜻은 기능이며, 나는 디버거를 사용 해본 적이 없으며, 지금 시작합니다. btw는 dev C++을 사용합니다. 템플릿 유형 이름 U :: VALUE_TYPE 평균 (U 시작, U 끝) { 형식 정의 유형 이름 U :: VALUE_TYPE res_type; res_type sum = res_type(); size_t count = 0; for (U pos = begin; pos! = end; ++ pos) { sum + = * pos; ++ 카운트; } return sum/count; } –

+0

읽기 쉽기 때문에'mean()'의 정의를 질문에 추가했습니다. (당신이 알지 못했을 경우를 대비해 자신 만의 질문을 수정할 수도 있습니다.) –

답변

0

stan_dev()이 (가) mean()이 아닌가요? 나를 위해 mean()

template <typename T> 
double mean(T begin, T end) 
{ 
    double sum=0, count=0; 
    while(begin!=end) 
    { 
     sum+=*begin++; 
     count++; 
    } 

    return sum/count; 
} 

프로그램 runs fine의 다음과 같은 해킹-함께 구현을 사용

.

편집 : mean() 버전을 사용하면 프로그램 runs fine도 사용 가능합니다. 이것을 당신에게 어떤 주장을하고 있습니까? 응답이 stan_dev() 내에 있습니까? (디버거 또는 적절한 디버그 출력을 사용하여 찾으십시오.)

+0

감사합니다 martin, 나는 그것에 더 많은 시간을 보내고 어쩌면 디버거와 함께 실험 할 것입니다. IDE에 관한 권장 사항을 만들 수 있습니까? 내가 dev에 C + +를 사용하지만, 구식 것 같습니다 –

+0

@AlterEgo : 여기를보십시오 : http://stackoverflow.com/questions/89275/best-c-ide-or-editor-for-windows –

관련 문제