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

下載本文檔

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

文檔簡介

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

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

3、();double fun(int n1,double x);void process();void show();pp:pp(int num,double x1)n=num;x=x1;p=new doublenum+1;pp:pp()delete p;double pp:fun(int n1,double x)if(n1=0)return 1;if(n1=1)return x;if(n11)return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1;void pp:process()int i;for(i=0;i=n;i+)*(p+i)=fun(i

4、,x);void pp:show()coutn=ntx=xendl;for(int i=0,m=1;in;i+,m+)cout*(p+i)t;if(m%4=0)coutn;void main()int num;double x1;coutput in num and x1numx1;pp items(num,x1);cess();items.show();運行結(jié)果2試建立一個類SP,求 ,另有輔助函數(shù)power(m,n)用于求 。具體要求如下:(1)私有成員數(shù)據(jù)。lint n,k:存放公式中n和k的值;(2)公有成員函數(shù)。lSP(int n1,int k1):構(gòu)造函數(shù),初始化

5、成員數(shù)據(jù)n和k。lint power(int m, int n):求mn。lint fun( ):求公式的累加和。lvoid show( ):輸出求得的結(jié)果。(3)在主程序中定義對象s,對該類進行測試。程序源代碼#includeclass SPint n,k;public:SP(int n1,int k1);int power(int m,int n);int fun();void show();SP:SP(int n1,int k1)n=n1;k=k1;int SP:power(int m,int n)int i;if(n=0)return 1;elsefor(i=1;in;i+)m*=m;

6、return m;int SP:fun()int y=0,x;for(x=1;x=n;x+)y+=power(x,k);return y;void SP:show()cout前n項的和為:fun()endl;void main()int n1,k1;cout輸入n1和k1的值n1k1;SP s(n1,k1);s.fun();s.show();運行結(jié)果:3建立一個類MOVE,不進行排序,將數(shù)組中小于平均值的元素放到數(shù)組的左邊,大于平均值的元素放到數(shù)組的右邊。具體要求如下:(1)私有數(shù)據(jù)成員lfloat array20:一維整型數(shù)組。lint n:數(shù)組中元素的個數(shù)。(2)公有成員函數(shù)lMOVE(f

7、loat b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。lvoid average():輸出平均值,并將數(shù)組中的元素按要求重新放置。lvoid print():輸出一維數(shù)組。(3)在主程序中用數(shù)據(jù)1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3對該類進行測試。程序源代碼#includeclass MOVEfloat array20;int n;public:MOVE(float b,int m);void average();void print();MOVE:MOVE(float b,int m)int i;n=m;for(i=0;im;i+)arrayi=bi;void M

8、OVE: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=arrayi;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.

9、3;int m=9;MOVE aa(b,m);aa.average();aa.print();運行結(jié)果4建立一個類MOVE,將數(shù)組中最大元素的值與最小元素的值互換。具體要求如下:(1)私有數(shù)據(jù)成員lint *array:一維整型數(shù)組。lint n:數(shù)組中元素的個數(shù)。(2)公有成員函數(shù)lMOVE(int b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。lvoid exchange():輸出平均值,并將數(shù)組中的元素按要求重新放置。lvoid print():輸出一維數(shù)組。lMOVE():析構(gòu)函數(shù)。(3)在主程序中用數(shù)據(jù)21,65,43,87,12,84,44,97,32,55對該類進行測試。程序源代碼

10、#includeclass MOVEint *array;int n;public:MOVE(int b,int m);void exchange();void print();MOVE();MOVE:MOVE(int b,int m)n=m;array=new intn;for(int x=0;xn;x+)arrayx=bx;void MOVE:exchange()float a=0;int i,*p1,*p2;for(i=0;in;i+)a+=arrayi;a/=n;coutThe average of the number is:aendl;p1=p2=&array0;for(i=0;i

11、n;i+)if(arrayi*p2)p2=&arrayi;i=*p1;*p1=*p2;*p2=i;void MOVE:print()int i,num=1;for(i=0;in;i+)coutarrayit;if(num%5=0)coutn;num+;MOVE:MOVE()delete array;void main()int b=21,65,43,87,12,84,44,97,32,55,n=10;MOVE ff(b,n);ff.exchange();ff.print();運行結(jié)果5定義一個類Palindrome,實現(xiàn)絕對回文數(shù)。設(shè)計一個算法實現(xiàn)對任意整型數(shù)字判斷是否為絕對回文數(shù)。所謂絕對回

12、文數(shù),是指十進制數(shù)和二進制數(shù)均對稱的數(shù)。具體要求如下:(1)私有數(shù)據(jù)成員 lint n:整型數(shù)字。lint y: 標(biāo)記是否為回文數(shù)。(2)公有成員函數(shù)lPalindrome (int x) :構(gòu)造函數(shù),根據(jù)x參數(shù)初始化數(shù)據(jù)成員n,y初始化為0。lvoid huiwen () :判斷數(shù)n是否為絕對回文數(shù)。lvoid show( ) :若該數(shù)為回文數(shù),則在屏幕顯示。 (3)在主程序中定義int a,由鍵盤輸入數(shù)字。定義一個Palindrome類對象p,用a初始化p,完成對該類的測試。程序源代碼#includeclass palindromeint n;int y;public:palindrome

13、(int x);void huiwen();void show();palindrome:palindrome(int x)n=x;y=0;void palindrome:huiwen()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)t2=0;break;if(t1&t2)y=1;void palindrome:show()if(y=0)cout該數(shù)不是回文數(shù)!endl;else cout該回文數(shù)是

14、:nendl;void main()int a;cout輸入a的值a;palindrome p(a);p.huiwen();p.show();運行結(jié)果:6定義一個字符串類String,實現(xiàn)判斷該字符串是否為回文字符串。所謂回文字符串,是指該字符串左右對稱。例如字符串“123321”是回文字符串。具體要求如下: (1)私有數(shù)據(jù)成員 lchar *str; lint y:標(biāo)記是否為回文字符串。 (2)公有成員函數(shù)lString (char *s) :構(gòu)造函數(shù),用給定的參數(shù)s初始化數(shù)據(jù)成員str。y初始化為0。lvoid huiwen () :判斷str所指向的字符串是否為回文字符串。lvoid s

15、how( ) :在屏幕上顯示字符串。(3)在主程序中定義字符串char s=”ababcedbaba”作為原始字符串。定義一個String類對象test,用s初始化test,完成對該類的測試。程序源代碼#include#includeclass stringchar *str;int y;public:string(char *s);void huiwen();void show();string:string(char *s)str=new charstrlen(s);strcpy(str,s);y=0;void string:huiwen()char *p1,*p2;p2=p1=str;f

16、or(int i=0;stri;i+,p2+);p2-;for(;p1!=p2;p1+,p2-)if(*p1!=*p2)y=0;break;elsey=1;void string:show() cout”字符串為:”strendl;if(y=0)cout字符串不是回文數(shù)!endl;else coutyendl;void main()char s=ababcedbaba; string test(s); test.huiwen(); test.show();運行結(jié)果:7建立一個類PHALANX,生成并顯示一個折疊方陣。折疊方陣如下圖所示。折疊方陣的生成過程為:起始數(shù)置于方陣的左上角,然后從起始數(shù)

17、開始遞增,依次折疊構(gòu)成方陣。 具體要求如下:(1)私有數(shù)據(jù)成員lint (*p)20:指向按照折疊規(guī)律存放方陣的二維整型數(shù)組。lint startnum:折疊方陣的起始數(shù)。lint n:存放方針的層數(shù)。(2)公有成員函數(shù)lPHALANX (int s, int m ):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。lvoid process():生成起始數(shù)為startnum的n行方陣。lvoid print():輸出折疊方陣。l PHALANX( ):析構(gòu)函數(shù)。(3)在主程序中對該類進行測試。程序源代碼#include#includeclass phalanxint(*p)20;int starnum;int n

18、;public:phalanx(int s,int m);void process();void print();phalanx();phalanx:phalanx(int s,int m)starnum=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;cout

19、n;phalanx:phalanx()delete p;void main()int s,m;cout輸入s和m的值sm;phalanx pp(s,m);cess();pp.print();運行結(jié)果8建立一個MATRIX,生成并顯示一個螺旋方陣。螺旋方陣如下圖所示,起始數(shù)置于方陣的左上角,然后從起始數(shù)開始依次遞增,按順時針方向從外向里旋轉(zhuǎn)填數(shù)而成。 具體要求如下:(1)私有數(shù)據(jù)成員lint a20 20:二維整型數(shù)組存放螺旋方陣。lint startnum:螺旋方陣的起始數(shù)。lint n:存放方針的層數(shù)。(2)公有成員函數(shù)lMATRIX (int s, int m ):構(gòu)造函數(shù),初

20、始化成員數(shù)據(jù)startnum和n。lvoid process():生成起始數(shù)為startnum的n行螺旋方陣。lvoid print():輸出螺旋方陣。(3)在主程序中定義MATRIX類的對象t對該類進行測試。程序源代碼#include#includeclass matrixint a2020;int starnum;int n;public:matrix(int s,int m);void process();void print();matrix:matrix(int s,int m)starnum=s;n=m;void matrix:process()int st=starnum;int

21、 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;jn;j+)coutsetw(8)aij;coutn;void main()int s,m;cout輸入s和m的值sm;matrix pp(s,m);cess();pp.print();運行結(jié)果9定義一個字符串類CStrin

22、g,并設(shè)計一個算法對該串中各個不同字符出現(xiàn)的頻率進行統(tǒng)計。具體要求如下: (1)私有數(shù)據(jù)成員 lchar *str:指向要統(tǒng)計的字符串。lchar (*p)2:動態(tài)分配二維空間,用以存放str所指字符串中出現(xiàn)的字符及其出現(xiàn)的次數(shù)(次數(shù)在存放時,用該數(shù)字對應(yīng)的ASCII值存放;在輸出次數(shù)時,輸出該ASCII字符對應(yīng)的ASCII值即可)。lint size:存放字符串中出現(xiàn)的所有不同的字符的個數(shù)。 (2)公有成員函數(shù)lCString (char *s) :根據(jù)s參數(shù)初始化數(shù)據(jù)成員str;p和size初始值為0。lvoid Count():p根據(jù)s所指字符串長度分配空間。然后把str所指字符串中的每

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

24、(*p)2;int size;public:cstring(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 i

25、=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;cstring:cstring()delete p;void main()char s=abdabcdesffffd;cstring test(s);test.count();test.show();運行結(jié)果10定義一個字符串類CString,并設(shè)計一個算法實現(xiàn),給定關(guān)鍵字str1在字符串str中出現(xiàn)時用關(guān)鍵字str2進行替換的功能。具體要求如下: (1)私有數(shù)據(jù)成員 lchar *str; 原始字符串。lcha

26、r *str1; 目標(biāo)關(guān)鍵字。lchar *str2; 替換關(guān)鍵字。lint flag; 標(biāo)記替換是否完成替換。 (2)公有成員函數(shù)lCString (char *s,char s1 ,char *s2) :用給定的參數(shù)s、s1和s2相對應(yīng)的初始化數(shù)據(jù)成員str、str1和str2。flag設(shè)置缺省0。lvoid Replace () :判斷str字符串中是否出現(xiàn)str1,若出現(xiàn)就用str2替換,否則什么都不做。若替換成功了標(biāo)記flag為1,若替換不成功則標(biāo)記flag為0。lvoid Show( ) :若替換成功,則在屏幕上顯示目標(biāo)關(guān)鍵字、替換關(guān)鍵字和替換后的原始字符串;若不成功則顯示原始字符

27、串。l CString() :釋放動態(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)鍵字。定義一個CString類對象test,用s,s1和s2初始化test,完成對該類的測試。程序源代碼#include#includeclass cstringchar *str;char *str1;char *str2;int flag;public:cstring(c

28、har*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()int i,n1,n2,y=1;for(i=0;stri;i+)if(stri=str10)fo

29、r(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 cstring:show()if(flag=1)cout改后strendl;else cout未改strendl;cstring:cstring()delete str;delete str1;delete str2;void main()char s=I am student,you are student to

30、o,we are all student.;char s1=student;char s2=teacher;cstring test(s,s1,s2);test.replace();test.show();運行結(jié)果11建立一個STRING,將一個字符串交叉插入到另一個字符串中(假定兩字符串等長)。例如將字符串“abcde” 交叉插入字符串“ABCDE”的結(jié)果為“aAbBcCdDeE”或“AaBbCcDdEe”。具體要求如下:(1)私有數(shù)據(jù)成員lchar str180 :存放被插入的字符串。lchar str240 :存放待插入的字符串。(2)公有成員函數(shù)lSTRING (char *s1, c

31、har *s2 ):構(gòu)造函數(shù),用s1和s2初始化str1和str2。lvoid process():將str2中的字符串插入到str1中。lvoid print():輸出插入后的字符串。(3)在主程序中定義STRING類的對象test對該類進行測試。程序源代碼#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=

32、s1i;for(int j=0;j40;j+)str2j=s2j;void STRING:process()char s40;strcpy(s,str1);int i=0,j=0;while(str2i)str1j+=str2i;str1j+=si;i+;str1j=0;void STRING:print()cout交叉后的字符串為:;coutstr1endl;void main()char str180,str240;cout輸入字符串1endl;cin.getline(str1,39);cout輸入字符串2endl;cin.getline(str2,39);STRING test(str1

33、,str2);cess();test.print();運行結(jié)果12建立一個STRING,將一個字符串交叉插入到另一個字符串中(假定兩字符串不等長)。例如將字符串“abcde” 交叉插入字符串“ABCDEFG”的結(jié)果為“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。具體要求如下:(1)私有數(shù)據(jù)成員lchar str160 :存放被插入的字符串。lchar str240 :存放待插入的字符串。lchar str3100 :存放插入后的字符串。(2)公有成員函數(shù)lSTRING (char *s1, char *s2 ):構(gòu)造函數(shù),用s1和s2初始化str1和str2。lv

34、oid process():將str2中的字符串插入到str1中,存放到str3中。lvoid print():輸出插入后的字符串。(3)在主程序中定義STRING類的對象test對該類進行測試。程序源代碼#include#includeclass STRINGchar str160;char str240;char str3100;public:STRING(char *s1,char *s2);void process();void print();STRING:STRING(char *s1,char *s2)for(int i=0;i60;i+)str1i=s1i;for(int j=

35、0;j40;j+)str2j=s2j;void STRING:process() int i=0,j=0,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:print()cout合并后的字符串為:;coutstr3endl;void main()char str160,str240;cout輸入字符串1endl;cin.getline(str1,59

36、);cout輸入字符串2endl;cin.getline(str2,39);STRING test(str1,str2);cess();test.print();運行結(jié)果13建立一個類MOVE,對數(shù)組中元素進行循環(huán)換位,即每個元素后移三位,最后三個元素移到最前面。具體要求如下:(1)私有數(shù)據(jù)成員lint array20:一維整型數(shù)組。lint n:數(shù)組中元素的個數(shù)。(2)公有成員函數(shù)lMOVE(int b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。lvoid change():進行循環(huán)換位。lvoid print():輸出一維數(shù)組。(3)在主程序中用數(shù)據(jù)21,65,43,87,1

37、2,84,44,97,32,55對該類進行測試。程序源代碼#includeclass MOVEint array20;int n;public:MOVE(int b,int m);void change();void print();MOVE:MOVE(int b,int m)n=m;for(int i=0;in;i+)arrayi=bi;void MOVE:change()int a20;for(int i=0;in-3;i+)ai+3=arrayi;a0=arrayi+;a1=arrayi+;a2=arrayi; for(i=0;in;i+)arrayi=ai;void MOVE:prin

38、t()for(int i=0;in;i+)coutarrayit;coutendl;void main()int b20=21,65,43,87,12,84,44,97,32,55;MOVE p(b,10);p.change();p.print();運行結(jié)果14建立一個類MOVE,實現(xiàn)將數(shù)組中大字字母元素放在小寫字母元素的左邊。具體要求如下:(1)私有數(shù)據(jù)成員lchar *array:一維字符數(shù)組。lint n:數(shù)組中元素的個數(shù)。(2)公有成員函數(shù)lMOVE(char b,int m):構(gòu)造函數(shù),初始化成員數(shù)據(jù)。lvoid change():進行排序換位。lvoid print():輸出一維數(shù)

39、組。lMOVE():析構(gòu)函數(shù)。(3)在主程序中用數(shù)據(jù)fdsUFfsTjfsKFEkWC對該類進行測試。程序源代碼#include#includeclass movechar*array;int n;public:move(char b,int m);void change();void print();move();move:move(char b,int m)array=new charstrlen(b)+1;n=m;strcpy(array,b);void move:change()char *p;int m=0;p=new charstrlen(array);strcpy(p,array

40、);for(int i=0;pi;i+)if(pi=A)arraym+=pi;for(i=0;pi;i+)if(pi=a)arraym+=pi;void move:print()cout改后字符串為:arrayendl;move:move()delete array;void main()char b1000;int m;cout輸入字符串和字符串個數(shù)bm;move pp(b,m);pp.change();pp.print();運行結(jié)果:15定義一個一維數(shù)組類Carray,并根據(jù)給定算法實現(xiàn)對原始一維數(shù)組進行線性變換。這里給定的線性變換算法為:T(bx) = bT(x) + i; 其中,b為變

41、換常量,x為變量,i為當(dāng)前類中成員數(shù)組的下標(biāo)值。根據(jù)該算法,原始數(shù)組在變化后,當(dāng)前數(shù)組元素的值是由常量b和i下標(biāo)來決定的。具體要求如下: (1)私有數(shù)據(jù)成員 lint *a:指針a指向一個動態(tài)分配的原始數(shù)組。lint n:n表示該數(shù)組的大小。lint b:線性變換的常量。 (2)公有成員函數(shù)lCarray (int a ,int n,int x) :用給定的參數(shù)a、n和x初始化數(shù)據(jù)成員a、n和b。缺省都設(shè)置為0。lvoid Transform () :根據(jù)上述變化算法,求解數(shù)組變換。lvoid Show( ) :在屏幕上顯示數(shù)組元素。l Carray () :釋放動態(tài)分配的空間。(3)在主程序

42、中定義數(shù)組int arr =1,2,3,4,5,6,7,8,9,10作為原始數(shù)組,int b;由鍵盤輸入,作為線性變換的常量。定義一個Carray類對象test,用arr初始化test,完成對該類的測試。程序源代碼#includeclass carrayint *a;int n;int b;public:carray(int a,int n,int x);void transform();void show();carray();carray:carray(int a,int n=0,int x=0)this-a=new intn;this-n=n;b=x;for(int i=0;iai=ai

43、;void carray:transform()for(int i=0;in;i+)ai=b*ai+i;void carray:show()cout變換后的數(shù)組為:endl;for(int i=0;in;i+)coutait;coutendl;carray:carray()delete a;void main()int arr=1,2,3,4,5,6,7,8,9,10;int m=10,b;cout輸入線性變換常量b;carray test(arr,m,b);test.transform();test.show();運行結(jié)果:16定義一個方陣類CMatrix,并根據(jù)給定算法實現(xiàn)方陣的線性變換。方陣的變換形式為:F=W*fTf為原始矩陣,fT為原始矩陣的轉(zhuǎn)置,w為變換矩陣,這里設(shè)定為1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 具體要求如下: (1)私有數(shù)據(jù)成員 lint (*a)4:a指向方陣數(shù)組。lint w44:w為變換矩陣。lint m:m表示方陣的行和列數(shù)。 (2)公有成員函數(shù)lCMatrix (int a4,int m) :用

溫馨提示

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

評論

0/150

提交評論