您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 江苏科技大学计算机课程实践VC++
课程实践报告设计题目:计算机程序设计实践(VC++)设计实践:2011-03-5至2011-03-15学院:机械工程学院专业班级:机械电子工程学生姓名:杨杨学号:0940206124指导老师:肖寒2011年3月实验一一实践任务定义一个方阵类CMatrix,并根据给定算法实现仿真的线性变换。仿真的变换的形式为:F=W*f^Tf为原始矩阵,f^T为原始矩阵的位置,w为变换矩阵,这里设定为1001011001101001具体要求如下:(1)私有数据成员Int(*a)[4]:a指向方阵变数。Intw[4][4]:w为变换矩阵。Intm:m便是方阵的行和列数。(2)公有成员函数Cmatrix(inta[][4],intm):用给定的参数a和m初始化数据成员m;对变换矩阵w进行初始化,要求必须用循环实现。VoidTransform():根据上数变换算法,求出变换后的数组形式,存放在原始数组内。Voidshow():在屏幕上显示数组元素。~CMatrix():释放动态分配的空间。(2)在主程序中定义数组intarr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}作为原始数组。一个Cmatrix类对象test,用arr初始化test,完成该类的测试。二系统设计类的描述与定义#includeiostream.hclassCMatrix{int(*a)[4];intw[4][4];intm;public:CMatrix(inta[][4],intm);voidTransform();voidshow();~CMatrix(){delete[m]a;}};主要成员函数定义Cmatrix函数定义CMatrix::CMatrix(inta[][4],intm){this-m=m;this-a=newint[this-m][4];for(inti=0;ithis-m;i++)for(intj=0;jthis-m;j++)this-a[i][j]=a[i][j];for(i=0;i4;i++)for(intj=0;j4;j++)if(i+j==3||j==i)w[i][j]=1;elsew[i][j]=0;}Transform函数定义voidCMatrix::Transform(){int(*b)[4];b=newint[m][4];for(inti=0;im;i++)for(intj=i;jm;j++){b[j][i]=a[i][j];b[i][j]=a[j][i];}for(i=0;im;i++)for(intj=0;jm;j++){a[i][j]=0;for(intk=0;km;k++)a[i][j]+=w[i][k]*b[k][j];}for(i=0;im;i++){for(intj=0;jm;j++)coutb[i][j]'\t';cout'\n';}delete[m]b;}show函数定义voidCMatrix::show(){coutbianhuajuzhen:'\n';for(inti=0;i4;i++){for(intj=0;j4;j++)coutw[i][j]'\t';cout'\n';}coutsuoqiufangzhen:'\n';for(i=0;im;i++){for(intj=0;jm;j++)couta[i][j]'\t';cout'\n';}}主函数定义voidmain(){intarr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};CMatrixtest(arr,4);test.Transform();coutyuanfangzhena;'\n';for(inti=0;i4;i++){for(intj=0;j4;j++)coutarr[i][j]'\t';cout'\n';}test.show();}三系统测试四实验小结熟悉并掌握变换算法的运用熟悉并掌握析构函数的定义域运用五源程序清单#includeiostream.hclassCMatrix{int(*a)[4];intw[4][4];intm;public:CMatrix(inta[][4],intm);voidTransform();voidshow();~CMatrix(){delete[m]a;}};CMatrix::CMatrix(inta[][4],intm){this-m=m;this-a=newint[this-m][4];for(inti=0;ithis-m;i++)for(intj=0;jthis-m;j++)this-a[i][j]=a[i][j];for(i=0;i4;i++)for(intj=0;j4;j++)if(i+j==3||j==i)w[i][j]=1;elsew[i][j]=0;}voidCMatrix::Transform(){int(*b)[4];b=newint[m][4];for(inti=0;im;i++)for(intj=i;jm;j++){b[j][i]=a[i][j];b[i][j]=a[j][i];}for(i=0;im;i++)for(intj=0;jm;j++){a[i][j]=0;for(intk=0;km;k++)a[i][j]+=w[i][k]*b[k][j];}for(i=0;im;i++){for(intj=0;jm;j++)coutb[i][j]'\t';cout'\n';}delete[m]b;}voidCMatrix::show(){coutbianhuajuzhen:'\n';for(inti=0;i4;i++){for(intj=0;j4;j++)coutw[i][j]'\t';cout'\n';}coutsuoqiufangzhen:'\n';for(i=0;im;i++){for(intj=0;jm;j++)couta[i][j]'\t';cout'\n';}}voidmain(){intarr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};CMatrixtest(arr,4);test.Transform();coutyuanfangzhena;'\n';for(inti=0;i4;i++){for(intj=0;j4;j++)coutarr[i][j]'\t';cout'\n';}test.show();}实验二一实验任务建立一个类NUM,并统计特定序列中相同的数字的个数。具体要求如下:(1)私有数据成员intdata[25]:随机生产25个在0-9之间的数字。intnum[10]:储存每个字符出现的个数。(2)公有数据成员NUM(intdata):构造函数,同时初始化数组data。voidprocess():统计数组data中的每个数字出现的个数,并保存到数组num中。voidprint():输出每个数字出现的个数,每行输出5个(3)在主程序中定义一个对象,对该类进行测试。二.系统设计通过NUM()函数进行赋值;通过process()函数统计每个数字出现的次数;通过print()函数输出结果。类的描述与定义classNUM{intdata[25];intnum[10];public:NUM(intdata1[]){for(inti=0;i25;i++){data[i]=data1[i];num[i]=0;}}process函数定义voidprocess(){for(inti=0;i25;i++)if(data[i]=0&&data[i]=9){intj=data[i];num[j]++;}}print函数定义如下:voidprint(){for(inti=0;i10;i++){if(i%5==0)coutendl;couti出现个数:num[i]'\t';}}主函数的定义voidmain(){intdata[25]={0,1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4,1,7,8,9,6};NUMtest(data);test.process();test.print();}三系统测试四实验小结掌握并学会随机函数的运用五源程序清单#includeiostream.hclassNUM{intdata[25];intnum[10];public:NUM(intdata1[]){for(inti=0;i25;i++){data[i]=data1[i];num[i]=0;}}voidprocess(){for(inti=0;i25;i++)if(data[i]=0&&data[i]=9){intj=data[i];num[j]++;}}voidprint(){for(inti=0;i10;i++){if(i%5==0)coutendl;couti出现个数:num[i]'\t';}}};voidmain(){intdata[25]={0,1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4,1,7,8,9,6};NUMtest(data);test.process();test.print();}实验三一实验任务建立一个类NUM,随机生成25个字符序列,并为特定序列进行排序。具体要求如下:(1)私有数据成员intdata[25]:随机生成25个字符。(2)公有数据成员NUM(intdata):构造函数,初始化数组data。voidprocess():为数组data进行排序,要求按照ASCⅡ码进行升序排列。voidprint():输出数组data,每行输出5个字符(3)主程序中定义一个对象,对该类进行测试。二系统设计类的描述与定义classNUM{chardata[25];public:NUM(chardata1[]){for(inti=0;i25;i++)data[i]=data1[i];}主要成员函数的定义pocess函数的定义voidprocess(){for(inti=0;i24;i++)for(intj=i+1;j25;j++)if(data[i]data[j]){chark=data[i];data[i]=data[j];data[j]=k;}}print函数的定义voidprint(){for(inti=0;i25;i++){if(i%5==0)coutendl;coutdata[i]'\t';}}主函数的定义voidmain(){chardata[25]=abcdefsfrghtkjhrtvwx;NUMtest(data);test.process();test.print();}三系统测试四实验小结掌握随机函数的运用。五源程序清单#includeiostream.h#includestring.hclassNUM{chardata[25];public:NUM(chardata1[]){for(inti=0;i25;i++)data[i]=data1[i];}voidprocess(){for(inti=0;i24;i++)for(intj=i+1;j25;j++)if(data[i]data[j]){chark=data[i];data[i]=data[j];data[j]=k;}}voidprint(){for(inti=0;i25;i++){if(i%5==0)coutendl;coutdata[i]'\t';}}};voidmain(){chardata[25]=abcdefsfrghtkjhrtvwx;NUMtes
本文标题:江苏科技大学计算机课程实践VC++
链接地址:https://www.777doc.com/doc-3390693 .html