帥帥 发表于 2014-10-12 19:35:29

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;
}

仰望天上的光 发表于 2014-10-12 20:53:59

#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<<" ";
        }
}

大个的糖果 发表于 2014-11-1 03:35:52

页: [1]
查看完整版本: c++ 產出6組6個號碼 (0~9前面補0) 6個號碼不能重複