VC課程實(shí)踐正確答案(1)_第1頁
VC課程實(shí)踐正確答案(1)_第2頁
VC課程實(shí)踐正確答案(1)_第3頁
VC課程實(shí)踐正確答案(1)_第4頁
VC課程實(shí)踐正確答案(1)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、江蘇科技大學(xué)課程實(shí)踐報(bào)告設(shè)計(jì)題目:程序設(shè)計(jì)(VC+)實(shí)踐設(shè)計(jì)時(shí)間:至學(xué) 院:專業(yè)班級(jí):學(xué)生姓名:學(xué)號(hào)指導(dǎo)老師:1試建立一個(gè)類 PP,求出下列多項(xiàng)式的前n項(xiàng)的值。具體要求如下:(1) 私有數(shù)據(jù)成員intn:前若干項(xiàng)的項(xiàng)數(shù)。double x:存放x的值。double *p :根據(jù)n的大小動(dòng)態(tài)申請(qǐng)存放 Pn(x)前n項(xiàng)的數(shù)組空間。(2) 公有成員函數(shù)PP(int num,double x1):構(gòu)造函數(shù),初始化數(shù)據(jù)成員n和x,使p指向動(dòng)態(tài)申請(qǐng)的數(shù)組空間。PP ():析構(gòu)函數(shù),釋放 p指向的動(dòng)態(tài)內(nèi)存空間。double fun(int n1,double x):遞歸函數(shù),用于求多項(xiàng)式 的第n1項(xiàng)。注意:將

2、遞歸公式中 的n用作函數(shù)參數(shù)。本函數(shù)供process函數(shù)調(diào)用。void process():完成求前n項(xiàng)的工作,并將它們存放到p指向的動(dòng)態(tài)數(shù)組中。void show():輸出n和x,并將前n項(xiàng)以每行4個(gè)數(shù)的形式輸出到屏幕上。(3) 在主函數(shù)中完成對(duì)該類的測(cè)試。先輸入 num和x1,并定義一個(gè) PP類的對(duì)象items, 用num和x1初始化items的成員n和x,調(diào)用items的成員函數(shù),求出并輸出多項(xiàng)式前 num 項(xiàng)的值。程序源代碼#i ncludeclass ppint n;double x; double *p;public:pp(i nt nu m,double x1);pp();dou

3、ble fun (i nt n 1,double x);void process();void show();pp:pp(i nt nu m,double x1)n=num;x=x1;p=new double nu m+1;pp:pp()delete p;double pp:f un (i nt n 1,double x)if(n 1=0)return 1;if(n 1=1)return x;if(n 11)return (2* n1-1)*x*fu n(n 1-1,x)-( n1-1)*fu n(n 1-2,x)/n1;void pp:process()int i;for(i=0;i=n ;

4、i+)*(p+i)=fu n( i,x);void pp:show()coutvv n=n vtvvx=vxvve ndl;for(i nt i=0,m=1;i n ;i+,m+)coutv*(p+i)vvt; if(m%4=0)coutn;void mai n()int num;double x1;coutput in num and x1x1;pp items( nu m,x1);cess();items.show();運(yùn)行結(jié)果I C UserspzqDesktopDebugCpp 1.exeput In6nun and xlUx-515373S526-1123525an

5、y key to contioue2.試建立一個(gè)類 SP,求,另有輔助函數(shù) power(m,n)用于求 具體要求如下:(1 )私有成員數(shù)據(jù)。intn , k:存放公式中n和k的值;(2 )公有成員函數(shù)。SP(int n 1,int k1):構(gòu)造函數(shù),初始化成員數(shù)據(jù)n和 power(int m, int n):求 fun():求公式的累加和。void show():輸出求得的結(jié)果。(3)在主程序中定義對(duì)象s,對(duì)該類進(jìn)行測(cè)試。程序源代碼#i ncludeclass SPint n ,k;public:SP(i nt n1,int k1);int power(i nt m,i

6、 nt n);int fun();void show();SP:SP(i nt n 1,i nt k1)n=n1;k=k1;int SP:power(i nt m,i nt n)int i;if(n=O)return 1;elsefor(i=1;i n ;i+) m*=m;return m;int SP:fu n()int y=0,x;for(x=1;x=n; x+) y+=power(x,k);return y;void SP:show()cout前 n 項(xiàng)的和為:fun()endl;void mai n()int n1,k1;cout輸入 n1 和 k1 的值k1;SP s( n1,k1)

7、;s.fu n();s.show();運(yùn)行結(jié)果:3建立一個(gè)類 MOVE,不進(jìn)行排序,將數(shù)組中小于平均值的元素放到數(shù)組的左邊,大于平 均值的元素放到數(shù)組的右邊。具體要求如下:(1) 私有數(shù)據(jù)成員float array20:維整型數(shù)組。intn:數(shù)組中元素的個(gè)數(shù)。(2) 公有成員函數(shù)MOVE(float b,i nt m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。void average。:輸出平均值,并將數(shù)組中的元素按要求重新放置。void print():輸出一維數(shù)組。(3) 在主程序中用數(shù)據(jù)1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3對(duì)該類進(jìn)行測(cè)試。程序源代碼#i ncludecla

8、ss MOVEfloat array20;int n;public:MOVE(float b,i nt m);void average();void prin t();MOVE:MOVE(float b,i nt m)int i;n=m;for(i=0;im;i+)arrayi=bi;void MOVE:average()int i,x;float a=0;for(i=0;in;i+)a+=arrayi;a/=n;cout 平均值為 aendl;float ff20;for(i=0,x=0;in;i+) if(arrayia) ffx=arrayi;x+;for(i=0;ia) ffx=arr

9、ayi;x+;for(i=0;in;i+) arrayi=ffi;void MOVE:print()int q,p=1;for(q=0;qn;q+)coutarrayqt; if(p%5=0)coutn; p+;void main()float b=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;int m=9;MOVE aa(b,m);aa.average(); aa.pri nt();運(yùn)行結(jié)果“ Jse rsp zqDesktopD? bu gCppl exe平均值為S-433331.334.82.36-29.17.4S.69.2Press ansr key to co

10、ntinue4建立一個(gè)類 MOVE,將數(shù)組中最大元素的值與最小元素的值互換。具體要求如下:(1) 私有數(shù)據(jù)成員int *array : 一維整型數(shù)組。intn:數(shù)組中元素的個(gè)數(shù)。(2) 公有成員函數(shù)MOVE(i nt b,i nt m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。void exchange():輸出平均值,并將數(shù)組中的元素按要求重新放置。void print():輸出一維數(shù)組。 MOVE():析構(gòu)函數(shù)。(3) 在主程序中用數(shù)據(jù)21,65,43,87,12,84,44,97,32,55對(duì)該類進(jìn)行測(cè)試。 程序源代碼#i ncludeclass MOVEint *array;int n;public

11、:MOVE(i nt b,i nt m);void excha nge();void prin t();MOVE();MOVE:MOVE( int b,i nt m)n=m;array=new intn;for(i nt x=0;x n; x+) arrayx=bx;void MOVE:excha nge()float a=0;int i,*p1,*p2;for(i=0;i n;i+)a+=arrayi;a/=n;coutThe average of the nu mber is:ae ndl;p1=p2=&array0;for(i=0;i*p2)p2=&arrayi;i=*p1;*p1=*p

12、2;*p2=i; void MOVE:pri nt()int i,num=1;for(i=0;i n;i+) coutarrayivvt;if(n um%5=0)coutn;nu m+;MOVE:MOVE()delete array;void mai n()int b=21,65,43,87,12,84,44,97,32,55, n=10; MOVE ff(b, n);ff.excha nge();ff.pri nt();運(yùn)行結(jié)果 C:Use rsp jqD esktopp:p 1 .e xeThe averags of the eunhu嚴(yán) is:5421651387H44123255Pre

13、ss any keto continue5定義一個(gè)類 Palindrome,實(shí)現(xiàn)絕對(duì)回文數(shù)。設(shè)計(jì)一個(gè)算法實(shí)現(xiàn)對(duì)任意整型數(shù)字判斷是否 為絕對(duì)回文數(shù)。所謂絕對(duì)回文數(shù),是指十進(jìn)制數(shù)和二進(jìn)制數(shù)均對(duì)稱的數(shù)。具體要求如下:(1) 私有數(shù)據(jù)成員int n :整型數(shù)字。int y :標(biāo)記是否為回文數(shù)。(2) 公有成員函數(shù)Palindrome (int x):構(gòu)造函數(shù),根據(jù) x參數(shù)初始化數(shù)據(jù)成員n,y初始化為0。void huiwen ():判斷數(shù)n是否為絕對(duì)回文數(shù)。void show():若該數(shù)為回文數(shù),則在屏幕顯示。(3)在主程序中定義int a,由鍵盤輸入數(shù)字。定義一個(gè)Palindrome類對(duì)象p,用a初

14、始化p,完成對(duì)該類的測(cè)試。程序源代碼#i ncludeclass pali ndromeint n;int y;public:pali ndrome(i nt x);void huiwe n();void show();pali ndrome:pali ndrome(i nt x)n=x;y=0;void pali ndrome:huiwe n()int b20,c50,m,i,p=0,t1=1,t2=1;m=n;for(i=0;m0;m/=10)p+;bi=m%10;i+;for(i=0;i0;m/=2)P+; ci=m%2; i+;for(i=0;ip;i+)if(ci!=cp-i-1)t

15、2=0; break;if(t1 &t2)y=1;void pali ndrome:show()if(y=0)cout該數(shù)不是回文數(shù)! e ndl; else cout該回文數(shù)是: ne ndl;void mai n()int a;cout輸入 a 的值 a;pali ndrome p(a);p.huiwe n(); p.show();運(yùn)行結(jié)果:6. 定義一個(gè)字符串類String ,實(shí)現(xiàn)判斷該字符串是否為回文字符串。所謂回文字符串,是指該字符串左右對(duì)稱。例如字符串“123321 ”是回文字符串。具體要求如下:(1) 私有數(shù)據(jù)成員char *str;int y :標(biāo)記是否為回文字符串。(2) 公

16、有成員函數(shù)String (char *s):構(gòu)造函數(shù),用給定的參數(shù)s初始化數(shù)據(jù)成員str。y初始化為0。void huiwen ():判斷str所指向的字符串是否為回文字符串。void show():在屏幕上顯示字符串。(3)在主程序中定義字符串char s= ” ababcedbabd作為原始字符串。 定義一個(gè) String類對(duì)象test,用s初始化test,完成對(duì)該類的測(cè)試。程序源代碼#i nclude#i ncludevstri ng.hclass stri ngchar *str;int y;public:stri ng(char *s);void huiwe n();void sho

17、w();stri ng:stri ng(char *s)str=new charstrle n( s);strcpy(str,s);y=0;void stri ng:huiwe n()char *p1,*p2;p2=p1=str;for(i nt i=0;stri;i+,p2+);p2-;for(;p1!=p2;p1+,p2-)if(*p1!=*p2)y=0;break;elsey=1;void stri ng:show()cout v”字符串為:” vvstrvve ndl; if(y=0)cout字符串不是回文數(shù)!e ndl;else coutvvyvve ndl;void mai n()

18、char s=ababcedbaba;stri ng test(s);test.huiwe n(); test.show();回運(yùn)行結(jié)果:CiMJseriXpz qD esktopDebup pl. exe序符為 匸ababc edbaba 不昱回文數(shù)!Pi*easkey to continue7. 建立一個(gè)類 PHALANX,生成并顯示一個(gè)折疊方陣。折疊方陣如下圖所示。折疊方陣的 生成過程為:起始數(shù)置于方陣的左上角,然后從起始數(shù)開始遞增,依次折疊構(gòu)成方陣。具體要求如下:(1) 私有數(shù)據(jù)成員int (*p)20:指向按照折疊規(guī)律存放方陣的二維整型數(shù)組。int start num :折疊方陣的起

19、始數(shù)。int n :存放方針的層數(shù)。(2) 公有成員函數(shù)PHALANX (i nt s, i nt m ):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。void process():生成起始數(shù)為 start num的n行方陣。void print():輸出折疊方陣。 PHALANX():析構(gòu)函數(shù)。(3 )在主程序中對(duì)該類進(jìn)行測(cè)試。程序源代碼#i nclude#i ncludevioma nip.hclass phala nxin t(*p)20;int star num;int n;public:phala nx(i nt s,i nt m);void process();void prin t();phala

20、 nx();phala nx:phala nx(i nt s,i nt m)star num=s;n=m;void phalanx:process()int num=starnum;int y=n,i,j,x;p=new int2020;for(x=0;xy;x+)for(i=0,j=x;i=0;j-) pij=num; num+;void phalanx:print()int i,j,m=0;for(i=0;in;i+)for(j=0;jn;j+)coutsetw(5)pij;coutn;phalanx:phalanx()delete p;void main()int s,m;cout輸入

21、s 和 m 的值sm;phalanx pp(s,m);cess();pp.print();運(yùn)行結(jié)果I C:U se r pzqDelctop.D ebugCppl.exe回|遼_輸 G1 6和Fl的值0125ia172&43git18279e7121?2題16151413202?252423222133L 363334333231Presskeyp toc n t In ue&建立一個(gè)MATRIX,生成并顯示一個(gè)螺旋方陣。螺旋方陣如下圖所示,起始數(shù)置于方陣 的左上角,然后從起始數(shù)開始依次遞增,按順時(shí)針方向從外向里旋轉(zhuǎn)填數(shù)而成。具體要求如下:(1) 私有數(shù)據(jù)成員int a20 20:

22、二維整型數(shù)組存放螺旋方陣。int start num :螺旋方陣的起始數(shù)。int n :存放方針的層數(shù)。(2) 公有成員函數(shù)MATRIX (int s, i nt m ):構(gòu)造函數(shù),初始化成員數(shù)據(jù)start num和n。void process。:生成起始數(shù)為 start num的n行螺旋方陣。void print():輸出螺旋方陣。(3) 在主程序中定義 MATRIX類的對(duì)象t對(duì)該類進(jìn)行測(cè)試。 程序源代碼#i nclude#i ncludevioma nip.hclass matrixint a2020;int star num;int n;public:matrix(i nt s,i nt

23、 m);void process();void prin t();matrix:matrix(i nt s,i nt m)star num=s;n=m;void matrix:process()int st=starnum;int i,j,x=0,y=n;for(;x=(y-1)/2;x+)for(i=x,j=x;j(y-x-1);j+) aij=st; st+;for(;ix;j-) aij=st; st+;for(;ix;i-) aij=st; st+;if(x=(y-1)/2)aij=st;void matrix:print()int i,j;for(i=0;in;i+)for(j=0;

24、jn;j+) coutsetw(8)aij; coutn;void main()int s,m;cout輸入 s 和 m 的值sm;matrix pp(s,m); cess(); pp.pri nt();運(yùn)行結(jié)果- C:U5er5 pi qDeskto pDebu gW ppl.exe輸入吝和HI的值71234S67242S262?28298234041424330922394849443110213 ft47464S32112937363G34331219181&iS1412Piess:to-9. 定義一個(gè)字符串類 CString ,并設(shè)計(jì)一個(gè)算法對(duì)該串中各個(gè)不同字符出現(xiàn)的頻率進(jìn)

25、行統(tǒng)計(jì)。 具體要求如下:(1) 私有數(shù)據(jù)成員char *str :指向要統(tǒng)計(jì)的字符串。char (*p)2:動(dòng)態(tài)分配二維空間,用以存放str所指字符串中出現(xiàn)的字符及其出現(xiàn)的次數(shù)(次數(shù)在存放時(shí),用該數(shù)字對(duì)應(yīng)的ASCII值存放;在輸出次數(shù)時(shí),輸出該 ASCII字符對(duì)應(yīng)的ASCII值即可)。int size :存放字符串中出現(xiàn)的所有不同的字符的個(gè)數(shù)。(2) 公有成員函數(shù)CString (char *s):根據(jù)s參數(shù)初始化數(shù)據(jù)成員str; p和size初始值為0。void Count() : p根據(jù)s所指字符串長(zhǎng)度分配空間。然后把 str所指字符串中的每個(gè)字符 放入p數(shù)組中,設(shè)置每個(gè)字符的出現(xiàn)次數(shù)為

26、1。根據(jù)p數(shù)組統(tǒng)計(jì)不同字符出現(xiàn)的頻率,并求 得size的實(shí)際大小。最后根據(jù) size的實(shí)際大小,重新分配 p所指空間,并把不同字符及其 出現(xiàn)次數(shù)重新放回 p數(shù)組(提示:可以借助臨時(shí)數(shù)組或指針來實(shí)現(xiàn))。void Show():屏幕顯示字符串、字符串的每個(gè)字符和與之對(duì)應(yīng)的次數(shù)。CString():釋放動(dòng)態(tài)分配的空間。(3) 在主程序中定義字符串char s= ” abdabcdesffffd”。定義一個(gè) CString類對(duì)象test, 用s以初始化test,完成對(duì)該類的測(cè)試。程序源代碼#i nclude#i ncludevstri ng.hclass cstri ngchar*str;char (

27、*p)2;int size;public:cstri ng(char *s);void count();void show();cstring();cstring:cstring(char*s)p=0;size=0;str=s;void cstring:count()p=new charstrlen(str)2;char n;char *p1,*p2;for(int i=0;stri;i+)n=0;p1=&stri;for(int m=0;strm;m+)p2=&strm;if(*p1=*p2)n+; p2+;pi0=stri;pi1=n;void cstring:show()for(int

28、i=0;istrlen(str);i+)int m,x=1;for(m=0;mi;m+)if(pm0=pi0)x=0;break;if(x=1)coutpi0t(int)pi1endl;cstri ng:cstri ng()delete p;void mai n()char s=abdabcdesffffd; cstring test(s);test.co un t();test.show();運(yùn)行結(jié)果-C:Useripz qDbu g 匚 ppi. exe ”22Q3C1101FPpess:10. 定義一個(gè)字符串類CString,并設(shè)計(jì)一個(gè)算法實(shí)現(xiàn),給定關(guān)鍵字str1在字符串str中出現(xiàn)時(shí)用

29、關(guān)鍵字str2進(jìn)行替換的功能。具體要求如下:(1) 私有數(shù)據(jù)成員char *str;原始字符串。char *str1;目標(biāo)關(guān)鍵字。char *str2;替換關(guān)鍵字。int flag;標(biāo)記替換是否完成替換。(2) 公有成員函數(shù)CString (char *s,char s1 ,char *s2):用給定的參數(shù) s、s1和s2相對(duì)應(yīng)的初始化數(shù)據(jù)成 員 str、str1 和 str2。 flag 設(shè)置缺省 0。void Replace ():判斷str字符串中是否出現(xiàn)str1,若出現(xiàn)就用str2替換,否則什么都不做。若替換成功了標(biāo)記flag為1,若替換不成功則標(biāo)記 flag為0。void Show(

30、):若替換成功,則在屏幕上顯示目標(biāo)關(guān)鍵字、替換關(guān)鍵字和替換后的原始 字符串;若不成功則顯示原始字符串。 CString():釋放動(dòng)態(tài)分配的空間。(3) 在主程序中定義字符串 char s= ” I am student, you are student too, we are all student.作為原始字符串,定義char s1=” student作為目標(biāo)關(guān)鍵字,定義char s2= teacher” 作為替換關(guān)鍵字。 定義一個(gè)CString類對(duì)象test,用s, s1和s2初始化test,完成對(duì)該類的測(cè)程序源代碼#include#includeclass cstringchar *st

31、r;char *str1;char *str2;int flag;public:cstring(char*s,char s1,char *s2);void replace();void show();cstring();cstring:cstring(char*s,char s1,char *s2)str=new charstrlen(s)+1;str1=new charstrlen(s1)+1;str2=new charstrlen(s2)+1;strcpy(str,s);strcpy(str1,s1);strcpy(str2,s2);flag=0;void cstring:replace(

32、)int i,n1,n2,y=1;for(i=0;stri;i+)if(stri=str10)for(n1=i,n2=0;str1n2;n1+,n2+) if(strn1!=str1n2)|(strn1=0) y=0;break;if(y=1)char pp100;for(int x=0,p=i;x(strlen(str1);p+,x+)strp=str2x;flag=1;void cstri ng:show()if(flag=1) cout改后stre ndl;else cout未改stre ndl;cstri ng:cstri ng()delete str;delete str1;dele

33、te str2;void mai n()char s=I am stude nt,you are stude nt too,we are all stude nt.; char s1=stude nt;char s2=teacher;cstring test(s,s1,s2);test.replace();test.show();運(yùn)行結(jié)果r1 丄 -” CAUse rspzqDeslctopDebu卩 pl.exe帆后I R teacher, you aie teacher too, we arc all tcaclier. Press key to continue11. 建立一個(gè) STRI

34、NG,將一個(gè)字符串交叉插入到另一個(gè)字符串中(假定兩字符串等長(zhǎng))。例如將字符串“ abcde”交叉插入字符串“ ABCDE ”的結(jié)果為“ aAbBcCdDeE ”或“AaBbCcDdEe ”。具體要求如下:(1) 私有數(shù)據(jù)成員char str180:存放被插入的字符串。char str240:存放待插入的字符串。(2) 公有成員函數(shù)STRING (char *s1, char *s2 ):構(gòu)造函數(shù),用 s1 和 s2 初始化 str1 和 str2。void process():將str2中的字符串插入到 str1中。void print():輸出插入后的字符串。(3)在主程序中定義 STRIN

35、G 類的對(duì)象 test 對(duì)該類進(jìn)行測(cè)試。 程序源代碼#include#includeclass STRINGchar str180;char str240; public: STRING(char *s1,char *s2); void process();void print();STRING:STRING(char *s1,char *s2)for(int i=0;i80;i+) str1i=s1i;for(int j=0;j40;j+) str2j=s2j;void STRING:process()char s40;strcpy(s,str1);int i=0,j=0; while(st

36、r2i) str1j+=str2i; str1j+=si; i+;str1j=0;void STRING:print()coutvv交叉后的字符串為:; coutstr1endl;void main()char str180,str240;cout輸入字符串1e ndl;cin.getline(str1,39);cout輸入字符串2endl;cin.getline(str2,39);STRING test(str1,st ; cess();test.pri nt();運(yùn)行結(jié)果* C:LfserspzqDeshtQpDebug匚ppl輸入字符串1a be deFg-WAT符串a(chǎn)

37、HCftEPQ諏后的字符串為;AaBbCcMEFfGnPress an key ta canitinue12. 建立一個(gè)STRING,將一個(gè)字符串交叉插入到另一個(gè)字符串中(假定兩字符串不等長(zhǎng))。例如將字符串“ abcde” 交叉插入字符串“ ABCDEFG ”的結(jié)果為“ aAbBcCdDeEFG ”或“AaBbCcDdEeFG ”。具體要求如下:(1) 私有數(shù)據(jù)成員char str160:存放被插入的字符串。char str240:存放待插入的字符串。char str3100:存放插入后的字符串。(2) 公有成員函數(shù)STRING (char *s1, char *s2 ):構(gòu)造函數(shù),用 s1

38、和 s2 初始化 str1 和 str2。void process():將str2中的字符串插入到 str1中,存放到 str3中。void print():輸出插入后的字符串。(3) 在主程序中定義 STRING類的對(duì)象test對(duì)該類進(jìn)行測(cè)試。程序源代碼#i nclude#i ncludevstri ng.hclass STRINGchar str160;char str240;char str3100;public:STRING(char *s1,char *s2);void process();void prin t();STRING:STRING(char *s1,char *s2)f

39、or(i nt i=0;i60;i+)str1i=s1i;for(i nt j=0;j40;j+)str2j=s2j;void STRING:process()int i=O,j=O,x;while(str1i&str2i)str3j+=str2i;str3j+=str1i;i+;x=i;if(str2x) while(str2x) str3j+=str2x+; if(str1i) while(str1i) str3j+=str1i+; str3j+=0;void STRING:pri nt()coutvv合并后的字符串為:;coutstr3e ndl;void mai n()char str

40、160,str240;cout輸入字符串1e ndl;cin. getl in e(str1,59);cout輸入字符串2EFGHInU1H合并后的字符串為=AaBbCcDdEe Ff GgH IJKLMNPresskejj to continue13建立一個(gè)類MOVE,對(duì)數(shù)組中元素進(jìn)行循環(huán)換位,即每個(gè)元素后移三位,最后三個(gè)元素移到最前面。具體要求如下:(1) 私有數(shù)據(jù)成員int array20:維整型數(shù)組。intn:數(shù)組中元素的個(gè)數(shù)。(2) 公有成員函數(shù)MOVE(i nt b,i nt m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。void change():進(jìn)行循環(huán)換位。void print():輸出一

41、維數(shù)組。(3) 在主程序中用數(shù)據(jù)21,65,43,87,12,84,44,97,32,55對(duì)該類進(jìn)行測(cè)試。程序源代碼#i ncludeclass MOVEint array20;int n;public:MOVE(i nt b,i nt m);void cha nge();void prin t();MOVE:MOVE( int b,i nt m)n=m;for(i nt i=0;i n ;i+)arrayi=bi;void MOVE:cha nge()int a20;for(i nt i=0;i n-3;i+) ai+3=arrayi;a0=arrayi+;a1=arrayi+; a2=ar

42、rayi;for(i=0;i n;i+) arrayi=ai;void MOVE:pri nt()for(i nt i=0;i n ;i+) coutarrayivvt;coute ndl;void mai n()int b20=21,65,43,87,12,84,44,97,32,55;MOVE p(b,10);p.cha nge();p.pri nt();運(yùn)行結(jié)果C;Use r s pzqDe ktopDebu gCpp l.exe陽325521654387128444Press any keto continue14建立一個(gè)類 MOVE,實(shí)現(xiàn)將數(shù)組中大字字母元素放在小寫字母元素的左邊。

43、具體要求如下:(1) 私有數(shù)據(jù)成員char *array :一維字符數(shù)組。intn:數(shù)組中元素的個(gè)數(shù)。(2) 公有成員函數(shù)MOVE(char b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。void change():進(jìn)行排序換位。void print():輸出一維數(shù)組。 MOVE():析構(gòu)函數(shù)。(3) 在主程序中用數(shù)據(jù)fdsUFfsTjfsKFEkWC對(duì)該類進(jìn)行測(cè)試。程序源代碼#i nclude#i ncludeclass movechar*array;int n;public:move(char b,i nt m);void cha nge();void prin t();m ove();mo

44、ve:move(char b,i nt m)array=new charstrle n(b)+1; n=m;strcpy(array,b);void move:cha nge()char *p;int m=0;p=new charstrlen(array);strcpy(p,array);for(int i=0;pi;i+)if(piv=Z&pi=A) arraym+=pi;for(i=0;pi;i+)if(pi=a) arraym+=pi;void move:pri nt()cout改后字符串為:vvarrayvve ndl;move:move()delete array;void mai

45、n()char b1000;int m;coutvv輸入字符串和字符串個(gè)數(shù) bm;move pp(b,m);pp.cha nge();pp.pri nt();運(yùn)行結(jié)果: C:lJ5er- pzq kto pbugCppl.exe輸入字符串和宇符串個(gè)數(shù)fdsUFfsrjfsKFEkUC17戌后字符串為;UFTKFWCFdsfsjfsk Press any key to continuie15. 定義一個(gè)一維數(shù)組類 Carray,并根據(jù)給定算法實(shí)現(xiàn)對(duì)原始一維數(shù)組進(jìn)行線性變換。這里給定的線性變換算法為:T(bx) = bT(x) + i; 其中,b為變換常量,x為變量,i為當(dāng)前類中成員數(shù)組的下標(biāo)值。根據(jù)該算法,原始數(shù)組在變化后,當(dāng)前數(shù)組元素的值是由常量b和i下標(biāo)來決定的。具體要求如下:(1) 私有數(shù)據(jù)成員int *a :指針a指向一個(gè)動(dòng)態(tài)分配的原始數(shù)組。int n : n表示該數(shù)組的大小。int b :線性變換的常量。(2) 公有成員函數(shù)Carray (int a ,int n,int x):用給定的參數(shù) a、n和x初始化數(shù)據(jù)成員a、n和b。缺省都設(shè)置為0。void Tran sform ():根據(jù)上述變化算法,求解數(shù)組變換。void Show():在屏幕上顯示數(shù)組元素。 Carray ():釋放動(dòng)態(tài)分配的空間。(3) 在主程序中定義數(shù)組 int ar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論