64,637
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<cstring>
#include<string>
#include<stdlib.h>
#include<time.h>
#include<vector>
#include<fstream>
using namespace std;
/*vector<int>&*/void rec(int rate,vector<int>&);
void output(vector<int>& pro);
//函数体? void protoype(vector<int>::iterator,vector<int>::iterator);
int main(){
vector<int> m_number;
srand(time(0));
//vector<int> number1(rec(10,m_number)),number2(rec(10,m_number)),mid(rec(2,m_number));
vector<int> number1,number2,mid;
rec(10, number1);
rec(10, number2);
rec(2, mid);
output(number1); //protoype(number1.begin(),number1.end());
cout<<"和"<<flush;
output(number2); //protoype(number2.begin(),number2.end());
cout<<"在"<<flush;
output(mid); //protoype(mid.begin(),mid.end());
cout<<"作用下"<<endl;
int base=0;
for(vector<int>::iterator itor=mid.begin();itor!=mid.end();++base,++itor)
if(*itor==1) //判断互换因子是否为1
{
int temp=number1[base];
number1.erase(number1.begin()+base);
number1.insert(number1.begin()+base,*(number2.begin()+base));
number2.erase(number2.begin()+base);
number2.insert(number2.begin()+base,temp);
}
cout<<"最后为"<<flush;
output(number1);
cout<<"和"<<flush;
output(number2);
return 0;
}
/*vector<int>&*/void rec(int rate,vector<int>&m_number)
{
//移到main中 srand(time(0));
for(int base=0;base!=10;++base)
m_number.push_back(rand()%rate);
//return m_number;
}
void output(vector<int>& pro)
{
int judge=1;
for(vector<int>::iterator itor=pro.begin();itor!=pro.begin()+4;++itor)
{
if (judge==1 && *itor==0) continue;
judge=0;
cout<<*itor<<flush;
}
int count=0;
for(vector<int>::reverse_iterator itor=pro.rbegin();itor!=pro.rbegin()+6;++itor) //pro.rbegin()+6
{
if(*itor==0)
++count;
else break;
}
if(count!=6)
{
cout<<"."<<flush;
//for(vector<int>::iterator itor=pro.begin();itor!=pro.begin()+6-count;++itor)
for(vector<int>::iterator itor=pro.begin()+4;itor!=pro.begin()+10-count;++itor)
cout<<*itor<<flush;
}
}