还剩35页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程试验汇报C++林子扬.试定义一种类实现求两个字符串的交集两个字符串的交集是指同步属于两个字符串1STR,I的字符的集合,且该集合中的字符各不相似详细规定如下I私有数据组员字符串用于寄存字符串和字符串的交集1charsl
[50],s2
[50],s0
[50];sO si s2公有组员函数2构造函数,分别用参数和初始化组员数组和•STRchar*pl,char*p2;pl p2si s2判断字符与否出目前字符串中,假如是,则返回值为否•int isinchar*p,char c;c p1,则返回0求组员数组和的交集,并将成果寄存在组员数组中提醒运•voidfunO;sis2J sO用函数依次判断一种字符串中的每个字符与否包括于另一种字符串中,假如包括,isinchar*,char且该字符不包括于组员数组中,则将该字符加入到组员数组中sO sO按输出示例日勺格式输出所有数据组员•void print;在主函数中对该类进行测试3输出示例字符串I:abcdefl23abcl2字符串2:acefl23ace124两个字符串的交集:acefl23和convert sort:输出数组的所有元素#8226;void print a在主函数中对该类进行测试3输入/输出示例下划线部分为键盘输入输入个整数5:121365666223131231434435处理前日勺数组为:121365666223131231434435处理后勺数组为H:651232313451234源程序代码#includeiostream.hclass NUMint a
[5];public:NUMint t[],int n;void sort;int convertint n;void fun;void print;);NUM::NUMint t[],int n//30forint i=O;in;i++a[i]=t[i];void NUM::sortint i,j,k,t;fori=0;i4;i++k=i;forj=i+l;j5;j++//40ifa[j]a[k]k=j;ifk!=i{t=a[k];a[k]=a[i];a[i]=t;}int NUM::convertint n/*int s
[5],i,j,k;fori=4;i0;i—{k=n;s[i]=k%10;n/=10fori=0;i5;i++forj=i+l;j5;j++ifa[i]==[j]fork=j;k4;k++a[k]=a[k+l];产/int s
[5],i=4,j,k=0,t,b,c=0;whilen{s[i—]=n%10;n/=10;forj=i+1;j4-k;j++t=j+l;whilet5-kifs[j]==s[t]{forb=t;b4-k;b++s[b]=s[b+l];k++;else t++;forj=i+l;j5-k;j++{c=c*10+s[j];}return c;void NUM::funforint i=0;i5;i++a[i]=converta[i];sort;void NUM::printforint i=0;i5;i++cout«a[i]«,\t,;cout«endl;void main{int s
[5];请输入个整数:coutvv”5forint i=0;i5;i++cin»s[i];NUM ts,5;处理前日勺数组为cout”t.print;t.fun;处理后口勺数组为cout«”t.printO;运行成果:青输12136S66223131231434435朴企理12136566223131231434435朴企理651232313451234to continue..去除后同数举升序打列数组•F:\lin c++\lin\3E\DRbug\
0003.exe•.试定义一种类记录一种字符串中包括勺句子数和单词数,规定单词之间以空格、“,”4STR,H或”分隔,句子以”结束,详细规定如下私有数据组员1:指向待记录的字符串char*s I分别记录求得的单词数和句子数int m,n:公有组员函数2构造函数,用参数初始化字符串STRchar*t:t s按题意记录单词数,成果寄存在数据组员中,再记录句子数,成果寄存在数据组员void fun:m n中按输出示例口勺格式输出记录成果void print:析构函数,实现必要的功能〜STR:在主函数中对该类进行测试3输出示例:i esaAt-AHU.AIS/n56knrjnrj.字符串・a・・student・・a.twenty..co.fro.china.句子数:3单词数:11源程序代码#includeiostream.h#includestring.hclass STRchar*s;int m,n;public:STRchar*t;void fun;void print;〜STR{delete[]s;}};STR::STRchar*ts=new char[strlent+l];strcpys,t;void STR::fun{char*p=s;m=0;n=0;while*pif*p==,.tn++;if*p==J||*p==||*p==J||*p==.m++;while*p==p++;P++;}void STR::print字符串:coutvv vvsvvendl;句子数:coutvv”vvnvvendl;单词数:coutvv vvmvvendl;void mainchars
[100];cin.getlines100;9STR ts;t.fun;t.print;运行成果:,统计句子数单词数*F:\lin c++\lin\4\Debug\0004exe字符串愉I an a student.I an twenty.I confrom china.anastudent.I amtwenty.I comfrom china.子里单词数
3.试建立一种类求出下列多项式的前项日勺值5PP,n详细规定如下私有数据组员1前若干项的项数l.intn:寄存欧值
2.double x:x I根据的大小动态申请寄存前项口勺数组空间
3.double*p:n Pnx n公有组员函数2构造函数,初始化数据组员和使指向动态申请日勺数组空间
1.PPint num,double x1:n x,p析构函数,释放指向日勺动态内存空间
2.〜PP:p递归函数,用于求多项式的第项注意将递归公式中日勺用
3.double funint nl,double x:J nln作函数参数本函数供函数调用process完毕求前项欧工作,并将它们寄存到指向欧动态数组中
4.void process:n Ip I输出和并将前项以每行个数日勺形式输出到屏幕上
5.void shown x,n4在主函数中完毕对该类的测试先输入和并定义一种类勺对象用和3num xl,PP Hitems,num初始化的组员和调用口勺组员函数,求出并输出多项式前项的值xl itemsJ nx,items num源程序代码#includeiostream.hclass pp{int n;double x;double*p;public:ppint num,double xl;〜PP;double funint nl,double x;源程序代码:#includeiostream.h#includestring.hclass STR{char sO[5O],sl[5O],s2[5O];public:STRchar*pl,char*p2;int isinchar*p,char c;void fun;void print;;STR::STRchar*pl,char*p2strcpysl,pl;strcpys2,p2;s0
[0]=\0;int STR::isinchar*p,char cchar*pO=p;void process;void show;;pp::ppint num,double xln=num;x=xl;p=new double[num+l];pp::〜ppdelete[]p;double pp::funint n1,double xifnl==Oretum1;ifnl=lretum x;ifn11return2*n1・1*x*funn1-l,x-n1-1*funnl-2,x/n1;fori=0;i=n;i++*p+i=funi,x;void pp::showcout«nn=,«n«,\t,«nx=,,«x«endl;forint i=0,m=l;in;i++,m++ifm%4==0cout«\n;void mainint num;double xl;”请依次输入和日勺值cout num xl vvendl;cin»num»xl;pp itemsnum,xl;items.process;items.show;运行成果求多项式■*F:\lin c++\lin\5,^SPP\Debug\
0005.exe■请依次输入和的值numxl32n=3x=
2125.5Press anykey tocontinue.试建立一种类求,另有辅助函数用于求6SP,powerm,n详细规定如下私有组员数据1寄存公式中和勺值;l.int n,k:n kH公有组员函数2构造函数,初始化组员数据和造求l.SPintnl,intkl:n
2.int powerint m,int n:mn输出求得的成果
4.void show:在主程序中定义对象对该类进行测试3s,源程序代码#includeiostream.hclass SP{int n,k;public:SPint nl,int kl;int powerint m,int n;int fun;void show;;SP::SPint nl,int mln=nl;k=ml;int SP::powerint m,int nifn==Oreturn1;elsefori=l;in;i++二m*m;return m;int SP::funint y=O,x;forx=l;xv=n;x++y+=powerx,k;return y;void SP::show前项口勺和为:coutvv”n n«fun«endl;输入和的值”©coutv”n k11€11;cin»nl»kl;SP snl,kl;s.fun;s.show;运行成果I F:\lin c++\lin\
6.^t^lgSP^f^k\Deb.建立一种类将数组中最大元素时值与最小元素时值互换7MOVE,详细规定如下私有数据组员1一维整型数组l.int*array:数组中元素日勺个数
1.1ntn:公有组员函数2构造函数,初始化组员数据
3.MOVEint b[],int m:输出平均值,并将数组中日勺元素按规定重新放置
4.void exchange析构函数
6.〜MOVE在主程序中用数据对该类进行测试3{21,65,43,87,12,84,44,97,32,55}程序源代码#includeiostream.hclass MOVE{int*array;int n;public:MOVEint b[],intm;void exchange;void print;;〜MOVE;MOVE::MOVEint b[],intm{n=m;array=new intlnj;forint x=0;xn;x++array[x]=b[x];void MOVE::exchangefloat a=0;int i,*pl,*p2;fori=0;in;i++a+=array[i|;a/=n;数组的平均数为「coutvv”a vendl;pl=p2=array
[0];fori=0;in;i++{ifarray[i]*p lpl=array[i];ifarray[i]*p2p2=array[i];i=*pl;*p]=*p2;*p2=i;int i,num=l;fori=0;in;i4-+{cout«array[i]«,\t,;ifnum%5==0cout«\n,;num++;MOVE::〜MOVE{delete[]array;}void main口二{int b21,65,43,87/2,84,44,97,32,55},n=10;MOVE ffb,n;变化前数组为:coutw”n«endl;ff.print;ff.exchange;变化后数组为:“coutvv”vvendl;ff.print;运行成果438712为黎且匕翁44123255ress anykey tocontinue8,定义一种类Palindrome,实现绝对回文数设计种算法实现对任意整型数字判断与否为绝对回文数所谓绝对回文数,是指十进制数和二进制数均对称的数详细规定如下:私有数据组员1整型数字l.intn:标识与否为回文数
2.int y:公有组员函数2构造函数,根据参数初始化数据组员初始化为
1.Palindrome intx:xn,y0判断数与否为绝对回文数
2.void huiwen:n若该数为回文数,则在屏幕显示
3.void show在主程序中定义由键盘输入数字定义一种类对象用初始化3inta,Palindrome p,a完毕对该类的测试P,源程序代码#includeiostream.h classpalindrome{int n;inty;while*pOJ4M!1645:后置自增参与后指向下一位if*pO++==c return1;//return0;void STR::fun{char*pO=sO,*pl=s l;while*pl{ifisins2,*p1!isinsO,*p1*p0++=*pl;*p0=\0;pl++;/*forchar*p1=s1,*pO=sO;*p1;p1++{ifisins2,*p1!isins0,*p1*p0++=*pl;public:palindromeint x;void huiwen;void show;;palindrome::palindromeint xn=x;y=0;void palindrome::huiwenint b
[20],c
[50],m,i,p=0,tl=1,t2=1;m=n;fori=0;m0;m/=10p++;b[i]=m%10;i++;fori=0;ip;i++ifb[i]!=b[p-i-l]tl=O;break;fbri=0,m=n,p=0;m0;m/=2{P++;c[i]=m%2;i++;fori=0;ip;i++ifc[i]!=c[p-i-l]{t2=0;break;void palindrome::show该数不是绝对回文数ify==0cout«”!,«endl;该绝对回文数是else cout”n«n«endl;void mainint a;输入的值”cout aendl;cin»a;palindrome pa;p.huiwen;p.show;运行成果类求回■*F:\lin c++\lin\8,^A Palindrome^t^\DBbug\0008exe”输入的值a121该数不是绝对回文数!.Press anykey tocontinue*pO=\O;}*/void STR::print{字符串coutvv”1:n«sl«endl;字符串coutvv”2:H«s2«endl;两个字符的交集cout«”I n«sO«endl;void mainchar str1[]=Habcdef123abc12n;charstr2[]=Hacef123ace124n;STR tstrl,str2;运行成果:求交集,F:\lin c++\lin\Debug\
0001.exe子将两个子符的交集Jgrql abcdefl23abcl232ace£123acel24ace£123Press anykey tocontinue.试定义一种类实现由一种数组派生出另一种数组派生规则如下新数组口勺元素取值2Array,为原数组中相似位置元素的左、右两个相邻元素前后拼接后形成日勺整数(左邻元素在前,右邻元素在后)规定最左(右)列元素的)左(右)邻元素为该元素所在行日勺最右(左)侧日勺元素详细规定如下私有数据组员
(1)原数组•inta
[3]
[4];派生数组•intb
[3]
[4];
(2)公有组员函数•Array(int t[]
[4],int n);构造函数,运用参数t的前n行元素初始化数据组员a•int nn(inttljnt t2);返回tl,t2拼接后形成的J整数(tl在前,t2在后)();按题意生成新数组,并将成果寄存到数据组员中•void funb();按矩阵形式输出组员数组•void print
(3)在主函数中对该类进行测试输出示例原数组4167340692478586264545派生数组:6741346703441582469782458786945646256445562源程序代码#includeiostream.h#includestring.hclass Array{inta
[3]
[4];int b
[3]
[4];public:Arrayint t[]
[4],intn;int nnint tljnt t2;void fun;void print;;Array::Arrayint t[]
[4],int nforint i=0;in;i++forint j=0;j4;j++int Array::nnint tlint t29intt=t2;whilett/=10;return tl+t2;void Array::fun{forint i=0;i3;i++forint j=0;j4;j++{int c=j-l;int d=j+l;c=c03:c;d=d30:d;b[i]U]=nna[i][c],a[i][d];//56void Array::print{coutvv”原数组n«endl;forinti=0;i3;i++{forint j=0;j4;j++{cout«a[i][j]«,\t,;}cout«endl;coutvv”派生数组n«endl;fori=0;i3;i++{forint j=0;j4;j++{cout«b[i][j]«,\t,;}cout«endl;}void mainintt
[3]
[4]={41,67,34,0,69,24,78,58,62,64,5,45};Array szt,4;sz.fun;sz.print;}运行成果货侬派生•F:\lin c++\lin2\Debug\
0002.exe,IWI167340247858•9264545版生数组17413467344182469782458786915646256445562ress anykey tocontinue.试定义一种类实现将一维数组中各整数元素去掉其中相似数字后再对数组从小3NUM,到大排序将一种整数去掉相似数字是指:假如一种整数中有相似的数字,则保留从左数起,第一次看到的那个数字,而将其他相似的数字去掉例如:数字中有三个
123241511.两个则去掉相似的数字后变为详细规定如下2,12345o私有数据组员1寄存需处理的数组#8226;inta⑸:公有组员函数2构造函数,用初始化为区元素个数#8226;NUMint t[],intn:ta,ntI将数组元素从小到大排序#8226;void sortintt[],intn:taI清除中相似的数字并返回新得到勺数#8226;int convertintn:n H将数组的各元素清除相似的数字后从小到大排列规定调用函#8226;void funa。
个人认证
优秀文档
获得点赞 0