⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key01_5.cpp

📁 该包是数据结构的实验软件,来源于合肥工业大学人工智能与数据挖掘实验室,用来实现数据结构.
💻 CPP
字号:
//{ Test01_5 }  { Big number: add }
#include"seqlists.h"
unsigned char  s[20];
SeqList A,B,C;
void  StrToSeqList(string s,SeqList& A)
  { int  i,L;
    boolean suc;
   unsigned char s1[20];
     Ltrim(s,s1);
    unsigned char s2[20];
    Rtrim(s1,s2);
    strcpy(s,s2);
    L=strlen(s);
    i=L-1;
    suc=true;
    while ( (i>=0)&&suc)
	if (s[i]>='0'&&s[i]<='9')
	   { A.data[L-i]=s[i]-'0';
	      i=i-1;
	   }
	  else
	      suc=false;
	if (!suc)
	     Error_exit("There have illeage char in string");
      A.Last=strlen(s);
      for (i=A.Last+1;i<=SeqList_maxsub(A);i++)
	 A.data[i]=0;
   }

void  SeqListToStr(SeqList& A,string s)
 {
   int i;
   boolean suc;
     strcpy(s,"");
       for (i=A.Last;i>=1;i--)
	  s[A.Last-i]=A.data[i]+'0';
  }

void  AddSeqList(SeqList& A,SeqList& B,SeqList& C)
 {  int  i,S,Carry,maxsub;
    Carry=0;
    maxsub=Max(A.Last,B.Last);
    set_SeqList_Last(C,0);
    for (i=1;i<=maxsub;i++)
	 { cur_SeqList_elmn_onoff(A,i);
	   cur_SeqList_elmn_onoff(B,i);
	   getch();
	   S=A.data[i]+B.data[i]+Carry;
	   Inc_SeqList_Last(C,1);
	   C.data[i]=S%10;
	   Carry=S/10;
	   display_SeqList_elmn(C,i);
	   cur_SeqList_elmn_onoff(C,i);
	   getch();
	   cur_SeqList_elmn_onoff(A,i);
	   cur_SeqList_elmn_onoff(B,i);
	   cur_SeqList_elmn_onoff(C,i);
	 }
       if (Carry>0)
	  { Inc_SeqList_Last(C,1);
	     C.data[C.Last]=Carry;
	     display_SeqList_elmn(C,C.Last);
	     cur_SeqList_elmn_onoff(C,i);
	  }



   }

void AddStringNum(string s1,string s2,string  s3)
 {
	 StrToSeqList(s1,A);
	 StrToSeqList(s2,B);
	 clear_SeqList(C);
	 move_SeqList_mid(A,getmaxx()/2,60);
	 move_SeqList_mid(B,getmaxx()/2,180);
	 move_SeqList_mid(C,getmaxx()/2,300);
	 gotoxy(1,1);
	 cout<<s1<<'+'<<s2<<'=';
	 AddSeqList(A,B,C);
	 SeqListToStr(C,s3);
	 cout<<s3;
	 getch();
 }

main()
{
   
    set_SeqList_dir(A,"A",horizon,-1,1,18);
    set_SeqList_dir(B,"B",horizon,-1,1,18);
    set_SeqList_dir(C,"C",horizon,-1,1,18);
    AddStringNum("1234567","2345678", s);
    AddStringNum("123456789012","345678989765", s);
    AddStringNum("32123451234567","13332345678", s);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -