タイトル
カードは出力をソートされた後、ランダムに4人、そしてすべての人の手に配布52ポーカーキングサイズに加えて、ランダムシャッフルシステムを設計してください。
照合:カラープレス行、スペード、ハート、クラブ、小から大への点で同じスーツの正方形片に続きます。前記点Aは点とみなします。
出力フォーマット:EURは、隣接する2枚のカードの間のスペースで区切って、1行を占めました。
分析
1関数ランドを(使用する)は、乱数を生成します。
図2は、、)(生成ソートソートと対数関数とすることができます。
コード
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int a[14],A[14];
int b[14],B[14];
int c[14],C[14];
int d[14],D[14];
int arr[53]={0};//如果一张牌被发,则其变为1
int main()
{
int i,n,j=1;
arr[0]=1;
for(i=1;i<=13;)
{
n=rand()%52;//随机取数
if(arr[n]==0)
{
a[i]=n;
arr[n]=1;
i++;
}
}
for(i=1;i<=13;)
{
n=rand()%52;
if(arr[n]==0)
{
b[i]=n;
arr[n]=1;
i++;
}
}
for(i=1;i<=13;)
{
n=rand()%52;
if(arr[n]==0)
{
c[i]=n;
arr[n]=1;
i++;
}
}
for(i=1;i<=52;i++)//对于d[i],我们只要找出剩余的13张牌
{
if(arr[i]==0)
{
d[j]=i;
arr[i]=1;
j++;
}
}
sort(a,a+14);//利用C++库函数排序
sort(b,b+14);
sort(c,c+14);
for(i=1;i<=13;i++)
{
A[i]=a[i]%4;a[i]=a[i]/4;if(A[i])a[i]++;//我用0,1,2,3给花色排序,1是红桃、2是梅花、3是方片 ,0是黑桃
B[i]=b[i]%4;b[i]=b[i]/4;if(B[i])b[i]++;
C[i]=c[i]%4;c[i]=c[i]/4;if(C[i])c[i]++;
D[i]=d[i]%4;d[i]=d[i]/4;if(D[i])d[i]++;
}
for(i=1;i<=13;i++)
printf("%2d-%d ",a[i],A[i]);
cout<<endl;
for(i=1;i<=13;i++)
printf("%2d-%d ",b[i],B[i]);
cout<<endl;
for(i=1;i<=13;i++)
printf("%2d-%d ",c[i],C[i]);
cout<<endl;
for(i=1;i<=13;i++)
printf("%2d-%d ",d[i],D[i]);
cout<<endl;
return 0;
}
結果
Tucao
私は<_>常に状況のうちの、疲れて、時間オーバーのため、この記事を書くために使用されます。
分析
私は非常に多くの徐兄弟トピックの夜楽しみにして、そのため、変更に変更して、単にそれを聞かせすることができるはず、これらのデータに非常に複雑なコードを感じます。ねえ。