题目:实现一个存储正整数的类,此类中的数据用随机数的方式进行填充。提供的方法包括:打印所有的整数、打印数据中所有的素数、判断某随机位置上的数字是否为素数、删除所有的素数。
代码:
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <ctime>
#include <cmath>
#include <vector>
class integer{
private:
int positive_integer; //正整数
public:
integer():positive_integer(0){}
integer(int n):positive_integer(n){}
~integer();
void SetInteger(int value);
int GetInteger();
int operator = (int value);
friend ostream & operator << (ostream &out,integer & obj);
};
//成员函数声明
integer::~integer(){}
void integer::SetInteger(int value){
positive_integer=value;
}
int integer::GetInteger(){
return positive_integer;
}
int integer::operator = (int value){
positive_integer=value;
}
ostream & operator <<(ostream &out,integer & obj){
out<<obj.positive_integer;
}
//在整数中,筛选质数
bool Prime(int n){
if(n==1||n==0){
return false;
}
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return false;
}
}
return true;
}
主程序
int main()
{
int len=10;
vector<integer> de(len);
srand(time(0));
for(int i=0;i<10;i++){
de.at(i)=rand()%20; //随机生成正整数
}
for(vector<integer>::iterator it=de.begin();it!=de.end();it++){
cout<<*it<<' '; //输出所有正整数
}
cout<<endl;
for(int i=0;i<de.size();i++){
if(true==Prime(de[i].GetInteger())){
cout<<de.at(i)<<endl; //输出所有质数
}
}
cout << "Hello World!" << endl;
return 0;
}
网友评论