c++ 產出6組6個號碼 (0~9前面補0) 6個號碼不能重複
各位大大幫我看一些 我想要做出能辦別每一組的6個數字不能有重複 怎做??#include <iostream>
#include <cstdlib>
using namespace std;
int main(void)
{
int i,j,k,z, re_check,a,b ;
srand(time(NULL)) ;
for(k=0;k<6;k++)
{
//第幾組
cout<<(k+1)<<":" ;
for(i=0;i<6;i++)
{
//隨機產出6/42 ;
z=rand()%42+1 ;
cout<<z<<" " ;
re_check = 0;
for(j=0;j<i;j++)
{
if(z==z)
{
z=rand()%42+1 ;
//i--;
// re_check = 10;
//break;
}
}
// if(z<10)
// cout<<"0"<<z<<" " ;
// else
// if(z==z)
// cout<<z<<" " ;
}
cout<<endl ;
}
system("pause");
return 0;
} #include <ctime>
#include <iostream>
#include <iomanip>
using namespace std;
void generate();
int main() {
srand(time(NULL));
for( int i=0;i<6;++i ) {
cout<<"no "<<i+1<<" data is: ";
generate();
cout<<endl;
}
}
void generate() {
const int n = 41;
int d;
int i;
for (i=1;i<=n;i++) d=i;/*产生1~n */
for (i=n;i>1;i--) {/* 随机打乱1~n */
int a=i; int b=rand()%i+1;
if (a!=b) { int t=d;d=d;d=t; }
}
for( i=1; i<=6;++i ) { /*输出前6个元素*/
cout.fill('0'); cout.width(2);
cout<<d<<" ";
}
}
页:
[1]