首页 > 编程知识 正文

excel自动累加公式,为什么求和的时候数值不对

时间:2023-05-04 18:17:30 阅读:108762 作者:945

参考书籍: 《STL源码剖析》

源代码: cygnus C 2.91.57 for Windows

I .所在文件的位置//numeric # ifndef _ _ SGI _ STL _ numeric # define _ _ SGI _ STL _ numeric/. # includes TL _ nu numeric ifndef _ SGI _ STL _ internal _ numeric _ h # define _ SGI _ STL _ internal _ numeric _ h _ SGI _ STL _ internal _ internal

II .算法测试/*测试代码*/# include vector # include numeric//accumulate # include functional//minususingnamespacestd; int main () intia(5)={ 1,2,3,4,5 }; Vectorintiv(ia,ia 5 ); coutaccumulate(iv.begin )、iv.end )、0 ) endl; //result336001245//在此版本的accumulate中,可以从初始值中依次减去各要素coutaccumulate(iv.begin )、iv.end )、0、minusinnate 结果:0-1-2-3-4-5} iii .算法的源代码accumulate算法的两个版本的源代码如下:

需要指定/* accumulate版本1*//*init值的原因是: [first,last为空,但明确定义的值*/template class InputIterator,classtaccumumutor=最后; first将各要素值累计到初始值init的init=init *first; 返回单元; } /* accumulate版本*/template class InputIterator,class T,classbinaryoperationtaccumulate (inputiteratorfirst,input ITER )=最后; first对各要素进行二元操作init=binary_op(init,*first ); 返回单元; }测试代码中使用的minus源代码如下。

//STL _ function.htemplateclassarg 1、class Arg2、classresultstructbinary _ function { typedef arg1first _ argument _ tte typedef Result result_type; (; /* minus是两个操作的减法操作*/templateclasststructminus : public binary _ function t,t,t{toperator}(constttx,const y ) ; IV .算法功能accumulate算法主要是将[first,last的范围内的每个迭代器I所对应的要素值*i累计到初始值init中。 此函数有以下两个操作版本:

一个版本是init=init *i; 版本2是运行init=binary_op(init,*i )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。