c++-随机产生六个不重复的数字

问题描述

随机产生六个不重复的数字

如何在1到22这22个数字中随机产生六个不重复的数字,并把它们存放到一个数组int a[6]中

解决方案

int a[6]]
int nowNum = 0;
bool bFlag = false;
memeset(a,0,sizeof(a));
while(1)
{
    int n = rand()%21+1;
    bFlag = false;
    for(int i =0; i<nowNum; i++)
    {
        if(n == a[i])
        {
            bFlag = true;
            break;
        }
    }

    if(!bFlag)
    {
        a[nowNum++] = n;
    }
}

解决方案二:

#include
#include
#include
#define MAX 21
using namespace std;
int main()
{
int arr[6];
int i=0;
bool ret=false;
srand((unsigned)time(NULL));
while(1)
{
arr[i]=rand()%MAX+1;
for(j=0;j<i;j++)
{
if(arr[j]==arr[i])
{
ret=true;
}
}
if(!ret)
{
i++;
ret=false;
}
if(i==10)
{
break;
}
}
while(--i)
{
cout<<arr[i]<<" ";
}
}

解决方案三:

修改lx624909677同学的:

const int COUNT=6;
int a[COUNT];
int nowNum = 0;

memeset(a,0,sizeof(a));
srand(time(NULL));

while(**nowNum < COUNT**)
{
int n = rand()%21+1;
bool bFlag = false;

    for(int i =0; i<nowNum; i++)
{
    if(n == a[i])
    {
        bFlag = true;
        break;
    }
}

if(!bFlag)
{
    a[nowNum++] = n;
}

}

时间: 2024-12-11 17:35:50

c++-随机产生六个不重复的数字的相关文章

php mysql 随机生成-随机生成的字符串为什么重复率这么高?求高手解惑

问题描述 随机生成的字符串为什么重复率这么高?求高手解惑 使用循环向数据库中插入数据: createBigData.php <?php /* 向数据库中插入数据,数万级别 / set_time_limit(0); require_once 'connDB.php'; $table = 'user'; //数据库表 $conn = ConnDB::singleton(); //调用单例模式进行数据库操作 //$conns = ConnDB::singleton(); //调用单例模式进行数据库操作

从数组中随机取x条不重复数据的JS代码

 这篇文章主要介绍了从数组中随机取x条不重复数据的JS代码,有需要的朋友可以参考一下 工作中经常遇到有关数组的一些操作    1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环)   代码如下: /* 从数组arr中随机取x条不重复的数据  */  function myRand(arr,num){     var newArr = [];     rand(num);    //随机 x 个       function rand

access数据库 随机抽取数据 且不重复

问题描述 .netwinform做一个抽奖系统,数据库是access,每次查询5条随机数据,而且不能重复!谢谢! 解决方案 解决方案二:你直接按guid排序随机取一批出来,然后在内存里再随机取就行了

JS 在指定数组中随机取出N个不重复的数据_javascript技巧

复制代码 代码如下: <script language="javascript">//从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) {    //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;    var temp_array = new Array();    for (var index in arr) {        temp_array.push(arr[index]

从数组中随机取x条不重复数据的JS代码_javascript技巧

工作中经常遇到有关数组的一些操作 1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环) 复制代码 代码如下: /*从数组arr中随机取x条不重复的数据 */ function myRand(arr,num){    var newArr = [];    rand(num);    //随机 x 个     function rand(k){        if(k==0){            return;        } 

javascript随机抽取0-100之间不重复的10个数_javascript技巧

目前只学会两种简单的方法,帮助大家实现随机抽取0-100之间不重复的10个数,具体内容如下 第一种利用数组长度可改写的特点 思路:可以从0到100的数用for循环出来放在一个数组中,然后将这100个数利用sort()随机打乱,然后通过将这个数组的length改写为10,便取到了10个不同的数. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

PHP中随机产生一组不重复的数字实现程序

 代码如下 复制代码 <?php /**  * PHP获取一组随机数字不重复  */ $a = microtime(); function createRandID($m){     // 产生一个从1到$m的数组     $arr = range(1,$m);     // 打乱数组     shuffle ($arr);      // 取前十个     for($i=0;$i<=10;$i++){         // 赋值给新数组$n         $n[] = $arr[$i]; 

JS 在指定数组中随机取出N个不重复的数据

<script language="javascript">//从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) {    //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;    var temp_array = new Array();    for (var index in arr) {        temp_array.push(arr[index]);    }    

剑指offer系列之四十九:数组中重复的数字

题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3. 此题的思路还是比较简单的,与之前找出只出现一次的数字的题目有些类似,基本思路还是创建一个Map容器,key是出现的数字,value则是该数字出现的次数.在遍历数组的过程中,只要容器中已经出现了该数字,那么就直接返回给数组,