के साथ एक सरणी भरना मैं यादृच्छिक अनुक्रम में 1-20 से संख्याओं के साथ 20 इंच की एक सरणी भरने की कोशिश कर रहा हूं।यादृच्छिक संख्या
int lookup[20]={0};
int array[20]={0};
srand(time(NULL));
for(int i=0;i<20;++i){
bool done=false;
while(!done){
int n=rand()%20;
if(lookup[n]==0){
array[i]=n;
lookup[n]=1;
done=true;
}
}
}
मैं अगर यादृच्छिक संख्या अभी तक चुना है और सरणी में यह संग्रहीत नहीं है की जाँच करने के लिए एक देखने सरणी बना लिया है: यहाँ मेरी कोड है। जैसा कि आप देख सकते हैं कि मैंने 2 लूप बनाए हैं, एक ट्रैवर्सिंग सरणी के लिए और यादृच्छिक संख्या चुनने के लिए थोड़ी देर के लिए। प्रत्येक लूप पुनरावृत्ति में संख्या फिर से दिखाई दे सकती है और लूप के दौरान एक और कारण हो सकती है। क्या ऐसा करने का कोई तेज तरीका है?
यादृच्छिक-संख्या-जनरेटर टैग –
लागू करें यह भी देखें: http://stackoverflow.com/questions/1218155/random-number-but-dont-repeat, http://stackoverflow.com/questions/1816534/random -प्लेलिस्ट-एल्गोरिदम, http://stackoverflow.com/questions/417831/what-is-the-best-way-of-randomly-re-arranging-a-list-of-items-in-c, http://stackoverflow.com/questions/813935/randomizing-elements-in-an-array – outis