
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int a[32]
int b[32]
int i,index,x=0
for(i=0i<32i++)
a[i]=i+1
srand((unsigned)time(0))
for(i=0i<32)
{
index=rand()%32
if(a[index]!=0)
{
b[i]=a[index]
printf("%d",b[i])
a[index]=0
++i
}
}
}
#include<iostream>#include <deque>
#include <vector>
#include <stdlib.h>
using namespace std
#define TeamCount 4
#define NumberCount 8
void RandGroup(deque<int>& deqSrc, vector<vector<int>>& rVecDec)
{
srand(time(NULL))
int nSrcSize = deqSrc.size()
vector<int> vecSample
for (int i = 0 i < nSrcSize i++)
{
// 取队员
int nPlayer = deqSrc.front()
deqSrc.pop_front()
vecSample.clear()
// 获取不满NumberCount的队伍集合
for (int j = 0 j < TeamCount j++)
{
if (rVecDec[j].size() < NumberCount)
vecSample.push_back(j)
}
// 获取该队员的随机队列编号
int nTmp = rand()
nTmp = rand() % (vecSample.size())
rVecDec[vecSample[nTmp]].push_back(nPlayer)
}
}
int main()
{
// 生成32个队员
deque<int> deq
for (int i = 0 i < TeamCount * NumberCount i++)
{
int nPlayer = 0
cin >> nPlayer
deq.push_back(nPlayer)
}
// 随机分组
vector<vector<int>> vecRes
for (int i = 0 i < TeamCount i++)
{
vector<int> vecTmp
vecRes.push_back(vecTmp)
}
RandGroup(deq, vecRes)
return 0
}
朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)