当前位置: 首页>>代码示例>>C++>>正文


C++ BigNumber::Count方法代码示例

本文整理汇总了C++中BigNumber::Count方法的典型用法代码示例。如果您正苦于以下问题:C++ BigNumber::Count方法的具体用法?C++ BigNumber::Count怎么用?C++ BigNumber::Count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BigNumber的用法示例。


在下文中一共展示了BigNumber::Count方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

//------------------------------------------------------------------------------
int BigNumber::operator < (BigNumber x2) {
        TNode *temp1;
        TNode *temp2;
        int status;
        if (Count()<x2.Count())
                return 1;
        else if (Count()>x2.Count())
                return 0;
        else {
                temp1=root;
                temp2=x2.root;
                for (;;) {
                        if ( (temp1->data) < (temp2->data) ) {
                                status=1;
                                break;
                        }
                        temp1=temp1->next;
                        temp2=temp2->next;
                        if (temp1==NULL || temp2==NULL) {
                                status=0;
                                break;
                        }
                }
        return status;
        }
}
开发者ID:scorpion235,项目名称:Archive,代码行数:27,代码来源:task4old.cpp

示例2:

//------------------------------------------------------------------------------
BigNumber operator * (BigNumber x1, BigNumber x2) {
        BigNumber *array;
        BigNumber temp,summa;
        summa.AddAfter(summa.root,0);
        TNode *temp_x2;
        List list;
        if (x1.Count()<x2.Count()) {
                temp=x1;
                x1=x2;
                x2=temp;
        }
        array=new BigNumber[x2.Count()];
        temp_x2=x2.last;
        for (int i=0;i<x2.Count();i++) {
                array[i]=x1.mult(temp_x2->data);
                array[i].AddZeroes(i);
                temp_x2=temp_x2->prev;
        }
        for (int i=x2.Count()-1;i>=0;i--)
                summa=summa+array[i];
        //delete array;
//        return summa;
        return array[0];
}
开发者ID:scorpion235,项目名称:Archive,代码行数:25,代码来源:task4old.cpp

示例3: exit

//------------------------------------------------------------------------------
BigNumber operator+ (BigNumber x1, BigNumber x2) {
        int carry=0;
        int result;
        BigNumber temp;
        FIFO fifo;
        if (x1.Count()<x2.Count()) {
                temp=x1;
                x1=x2;
                x2=temp;
        }
        //temp.DeleteList(); //????????????????????????????????
        TNode *temp_x1=x1.last;
        TNode *temp_x2=x2.last;
        TNode *temp_result=temp.last;//???????????????????????
        for (int i=0;i<x2.Count();i++) { //Ѕлок протестирован
                result=temp_x1->data+temp_x2->data+carry;
                carry=(int)(result/1000);
                fifo.Push(result%1000);
                temp_x1=temp_x1->prev;
                temp_x2=temp_x2->prev;
        }
        if ( (x2.Count()==x1.Count() ) && (carry!=0) )
                fifo.Push(carry);
        else {
                for (int i=x2.Count();i<x1.Count();i++) {
                        result=temp_x1->data+carry;
                        carry=(int)(result/1000);
                        fifo.Push(result%1000);
                        temp_x1=temp_x1->prev;
                }
                if (carry!=0)
                        fifo.Push(carry);
        }

        int count=fifo.Count();
        for (int i=0;i<count;i++) {
                if (!fifo.Pop(result)) {
                        cout <<"Error\n";
                        exit(-1);
                }
                temp.AddBefore(temp.root,result);
        }
        return temp;

}
开发者ID:scorpion235,项目名称:Archive,代码行数:46,代码来源:task4old.cpp


注:本文中的BigNumber::Count方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。