VC 课程实践正确答案(1)(6)

2019-08-31 22:51

void move::change() { char *p; int m=0; p=new char[strlen(array)]; strcpy(p,array); for(int i=0;p[i];i++) if(p[i]<='Z'&&p[i]>='A') array[m++]=p[i]; for(i=0;p[i];i++) if(p[i]<='z'&&p[i]>='a') array[m++]=p[i]; }

void move::print() { cout<<\改后字符串为:\}

move::~move() { delete []array; }

void main() { char b[1000]; int m; cout<<\输入字符串和字符串个数\ cin>>b>>m; move pp(b,m); pp.change(); pp.print(); }

运行结果:

15.定义一个一维数组类Carray,并根据给定算法实现对原始一维数组进行线性变换。这里给定的线性变换算法为:T(bx) = bT(x) + i; 其中,b为变换常量,x为变量,i为当前类中成员数组的下标值。根据该算法,原始数组在变化后,当前数组元素的值是由常量b和i下标来决定的。 具体要求如下:

(1)私有数据成员

? int *a:指针a指向一个动态分配的原始数组。 ? int n:n表示该数组的大小。 ? int b:线性变换的常量。 (2)公有成员函数

? Carray (int a[ ],int n,int x) :用给定的参数a、n和x初始化数据成员a、n和b。缺省都设置为0。

? void Transform () :根据上述变化算法,求解数组变换。 ? void Show( ) :在屏幕上显示数组元素。 ? ~ Carray () :释放动态分配的空间。

(3)在主程序中定义数组int arr[ ]={1,2,3,4,5,6,7,8,9,10}作为原始数组,int b;由键盘输入,作为线性变换的常量。定义一个Carray类对象test,用arr初始化test,完成对该类的测试。

程序源代码 #include class carray{ int *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 int[n]; this->n=n; b=x; for(int i=0;ia[i]=a[i]; } }

void carray::transform() { for(int i=0;i

void carray::show() { cout<<\变换后的数组为:\ for(int i=0;i

cout<

carray::~carray() { delete []a; }

void main() { int arr[]={1,2,3,4,5,6,7,8,9,10}; int m=10,b; cout<<\输入线性变换常量\ cin>>b; carray test(arr,m,b); test.transform(); test.show(); }

运行结果:

16.定义一个方阵类CMatrix,并根据给定算法实现方阵的线性变换。方阵的变换形式为: F=W*fT

f为原始矩阵,fT为原始矩阵的转置,w为变换矩阵,这里设定为 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 具体要求如下:

(1)私有数据成员

? int (*a)[4]:a指向方阵数组。 ? int w[4][4]:w为变换矩阵。 ? int m:m表示方阵的行和列数。 (2)公有成员函数

? CMatrix (int a[][4],int m) :用给定的参数a和m 初始化数据成员a和m;对变换矩阵w进行初始化,要求必须用循环实现。

? void Transform () :根据上述变换算法,求出变换后的数组形式,存放在原始数组内。 ? void show( ) :在屏幕上显示数组元素。 ? ~ CMatrix () :释放动态分配的空间。

(3)在主程序中定义数组int arr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}作为原始数组。

定义一个CMatrix类对象test,用arr初始化test,完成对该类的测试。 程序源代码:

#include #include class cmatrix{ int (*a)[4]; int w[4][4]; int m; public:

cmatrix(int a[][4],int m); void transform(); void show(); ~cmatrix(); };

cmatrix::cmatrix(int a[][4],int m) {

this->a=new int [4][4]; for(int i=0;i<4;i++) for(int j=0;j<4;j++) this->a[i][j]=a[i][j]; this->m=m;

for(int p=0;p<4;p++) for(int q=0;q<4;q++) if((p+q!=3)&&(p-q!=0))w[p][q]=0; else w[p][q]=1; }

void cmatrix::transform() {

int b[4][4],i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) b[i][j]=a[j][i]; for(i=0;i<4;i++) for(j=0;j<4;j++) a[i][j]=w[i][0]*b[0][j]+w[i][1]*b[1][j]+w[i][2]*b[2][j]+w[i][3]*b[3][j]; }

void cmatrix::show() {

cout<<\变换后的数组是:\ for(int i=0;i<4;i++) { for(int j=0;j<4;j++) cout<

} }

cmatrix::~cmatrix() {

delete []a; }

void main() {

int arr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int m=4;

cmatrix test(arr,m); test.transform(); test.show(); }

运行结果:

17.定义一个类SIN,求 具体要求如下: (1)私有成员数据。

? int x:输入公式中x的值,求sin(x)。 ? int n:输入公式中n的值。 (2)公有成员函数。

? SIN(int x, int n ):构造函数,用于初始化x和n的值。 ? int power( int q):求q!的值。 ? int mi( int m,int n):求 的值。 ? int fun( ):用于求SIN(X)的值。 ? void show( ):输出求得的结果。

(3)在主程序中定义对象test,对该类进行测试。

#include class sin{ int x; int n; public:

sin(int x,int n); int power(int q); int mi(int m,int n); int fun(); void show();


VC 课程实践正确答案(1)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黄冈中学最新高考数学题型分析含黄冈密卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: