抄我作业的,别连变量名和初始化数据都不改!!!

 

5.28实验:

#include<iostream>
using namespace std;
class ARRAY
{
	int *a,la;
	int *b,lb;
	public:
		ARRAY (int *t,int n)
		{
			a=new int[n];
			strcpy(a,t);//a=t;
			la=n;
		}
		int prime(int t)
		{
		for(int i=2;i<t;i++)
			if(t%i==0&&t!=2)
				return 0;//非素数
			if(t==1)
				return 0;//非素数
			return 1;
		}
		void fun()
		{
			int n=0,i;
			for(i=0;i<la;i++)
				if(prime(a[i])==1)
					n++;
			b=new int[n];
			lb=n;
			int x=0;
			for(i=0;i<la;i++)
			{
				if(prime(a[i])==1)
					{
						b[x]=a[i];
						x++;
					}
			}
		}
		void print()
		{
			int i,t=0;
			for(i=0;i<la;i++)
			{
				cout<<a[i]<<'\t';
				t++;
				if(t%5==0)
				cout<<'\n';
			}
			t=0;
			for(i=0;i<lb;i++)
				{
					cout<<b[i]<<'\t';
					t++;
					if(t%5==0)
						cout<<endl;
				}
		}
		~ARRAY(){delete []b,delete []a;}
};
int main()
{
	int arr[10]={1,2,3,4,5,6,7,8,9,10};
	ARRAY test(arr,10);
	test.fun();
	test.print();
	return 0;
}

5.22实验:

2.

#include<iostream>
#include<cstring>
using namespace std;
class STR
{
	char *p;
	public:
		STR(char *s)
		{
			p=new char(strlen(s)+1);
			p=s;
		}
		void move(char &t1,char &t2)
		{
			char t;
			t=t1;
			t1=t2;
			t2=t;
		}
		void fun()
		{
			char *x=p,*y=p+strlen(p)-1;		
			for(;x<y;)
			{
				if(*x>='0'&&*x<='9')//x指向数字 
				{
					if(*y>='a'&&*y<='z')//y指向字母 
					{
						move(*x,*y);//交换 
						x++;
						y--;
					}
					if(*y>='0'&&*y<='9')//y指向数字 
					{
						y--;
					}			
				}
				else 
					x++;
			}
		}
		~STR()	{delete []p;}
		void print()
		{
			cout<<p<<endl;
		}
};
int main()
{
	char str[]="a155bc2c3dc5344";
	STR test(str);
	test.print();
	test.fun();
	test.print();
}

3.

#include<iostream>
using namespace std;
class Array
{
	int a[4][5];
	public:
		Array(int t[][5],int n)
		{
			for(int i=0;i<n;i++)
				for(int j=0;j<5;j++)
					a[i][j]=t[i][j];
		}
		float ave(int t[][5],int m)
		{
			float sum=0,ave;
			for(int i=0;i<4;i++)
				sum+=t[i][m];
			ave=sum/4.0;
			return ave;
		}
		void exch(int m,int n)
		{
			for(int i=0;i<4;i++)
			{
				int t;
				t=a[i][m];
				a[i][m]=a[i][n];
				a[i][n]=t;
			}
		}
		void fun()
		{
			for(int i=0;i<4;i++)
				for(int j=i+1;j<5;j++)
					if(ave(a,i)>ave(a,j))
						exch(i,j);			
		}
		void print()
		{
			for(int i=0;i<4;i++)
			{
				for(int j=0;j<5;j++)
					cout<<a[i][j]<<'\t';
				cout<<endl;
			}
		}
};
int main()
{
	int a[4][5]={{9,54,3,12,87},{78,433,22,45,24},{79,44,30,32,44},{90,87,55,11,21}},i,j;
	Array test(a,4);
	test.print();
	test.fun();
	test.print();
}

 

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注