⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 彩票分析器
💻 CPP
字号:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
double g[201];
double s=0; 
int n,m;
int a[200][8]={
2007118,4,10,16,18,25,32,15,
2007119,3,8,11,13,25,31,12,
2007120,6,7,11,12,18,25,1,
2007121,3,10,21,22,27,28,6,
2007122,4,7,19,24,26,32,9,
2007123,1,13,15,23,28,32,2,
2007124,3,7,13,16,19,32,16,
2007125,3,5,18,20,27,33,1,
2007126,9,10,19,23,26,31,9,
2007127,6,9,13,16,24,28,11,
2007128,9,10,19,21,27,31,5,
2007129,5,7,20,21,22,30,8,
2007130,3,5,9,11,27,31,4,
2007131,3,5,7,16,22,27,5,
2007132,1,9,16,21,22,23,5,
2007133,3,6,7,11,13,33,10,
2007134,1,4,10,13,18,25,15,
2007135,1,11,16,26,31,33,16,
2007136,1,2,18,21,25,29,14,
2007137,3,7,8,18,20,22,3,
2007138,2,3,15,17,19,25,16,
2007139,6,10,12,14,16,22,6,
2007140,1,5,16,21,22,26,11,
2007141,2,3,4,6,17,31,8,
2007142,11,20,25,26,27,30,8,
2007143,1,6,22,23,24,26,4,
2007144,8,14,23,25,28,32,16,
2007145,8,9,11,12,25,31,11,
2007146,4,18,22,24,26,30,9,
2007147,3,7,18,24,26,27,4,
2007148,3,9,16,17,23,28,7,
2007149,1,17,19,22,28,30,3,
2007150,3,5,11,13,19,24,5,
2007151,1,6,10,11,23,25,2,
2007152,11,17,21,29,30,33,8,
2007153,1,4,19,20,25,31,15,
2008001,2,4,7,9,14,29,3,
2008002,3,4,18,22,25,29,9,
2008003,6,8,11,13,17,19,12,
2008004,4,8,22,23,27,29,8,
2008005,3,5,15,22,24,25,15,
2008006,1,14,16,18,22,27,14,
2008007,1,13,17,22,23,30,11,
2008008,2,15,16,23,26,27,7,
2008009,9,21,29,30,31,32,16,
2008010,3,8,11,17,21,27,9,
2008011,2,14,17,21,30,32,3,
2008012,3,4,5,16,20,30,13,
2008013,2,8,15,16,22,28,10,
2008014,3,9,11,17,21,31,14,
2008015,6,8,11,16,29,33,3,
2008016,3,12,14,21,29,33,13,
2008017,2,5,7,17,20,22,2,
2008018,2,5,6,23,26,33,13,
2008019,2,9,11,17,27,31,5,
2008020,3,10,13,15,28,30,3,
2008021,9,12,19,20,26,28,15,
2008022,12,18,20,24,28,32,5,
2008023,8,16,18,25,26,32,2,
2008024,11,20,21,26,28,30,13,
2008025,8,16,17,18,19,21,14,
2008026,5,17,19,27,29,32,3,
2008027,15,18,19,23,24,26,13,
2008028,1,13,21,26,29,32,10,
2008029,1,9,14,22,29,32,12,
2008030,6,15,18,19,20,28,11,
2008031,3,6,11,15,21,31,13,
2008032,5,14,16,21,23,28,13,
2008033,12,17,18,30,31,33,4,
2008034,3,5,9,11,21,29,9,
2008035,7,11,14,17,18,29,16,
2008036,2,6,13,18,23,28,16,
2008037,1,12,22,24,28,31,6,
2008038,3,9,10,11,15,19,13,
2008039,1,7,10,13,22,29,1,
2008040,6,13,22,25,27,28,9,
2008041,8,11,20,22,23,27,4,
2008042,3,4,9,11,12,24,1,
2008043,3,10,16,22,27,33,14,
2008044,5,7,9,20,26,29,9,
2008045,1,10,13,21,29,32,4,
2008046,15,16,18,24,28,33,15,
2008047,9,12,13,14,20,22,10,
2008048,11,18,21,27,30,32,1,
2008049,3,10,12,13,19,25,4,
2008050,1,11,19,24,26,27,3,
2008051,1,4,8,10,13,33,11,
2008052,2,10,17,23,29,31,10,
2008053,6,12,19,20,21,27,4,
2008054,2,6,16,17,20,25,7,
2008055,11,16,19,23,26,31,4,
2008056,8,13,22,23,25,30,7,
2008057,19,20,21,26,28,30,8,
2008058,1,12,21,27,29,31,11,
2008059,2,6,15,29,31,32,16,
2008060,6,7,8,17,30,32,3,
2008061,1,2,5,12,26,31,6,
2008062,6,8,13,17,24,27,15,
2008063,5,9,11,14,16,17,15,
2008064,1,2,7,9,12,18,12,
2008065,5,13,15,19,30,31,5,
2008066,7,12,21,22,29,30,8,
2008067,10,11,15,19,26,33,13,
2008068,5,7,17,23,27,29,7,
2008069,5,8,17,20,26,30,10,
2008070,5,6,12,15,18,33,13,
2008071,1,6,21,26,27,28,9,
2008072,1,5,10,18,22,30,9,
2008073,1,9,13,22,28,33,8,
2008074,1,11,15,19,20,24,9,
2008075,1,8,14,18,22,30,3,
2008076,2,5,7,11,13,18,11,
2008077,4,12,22,26,30,33,9,
2008078,6,13,16,26,30,33,1,
2008079,3,4,5,10,20,32,9,
2008080,4,14,22,25,29,32,14,
2008081,2,12,13,18,25,31,4,
2008082,4,8,10,12,21,26,9,
2008083,7,8,9,18,29,32,9,
2008084,4,7,13,20,29,30,16,
2008085,1,4,12,20,24,29,15,
2008086,4,5,10,26,27,30,12,
2008087,1,7,26,29,30,31,6,
2008088,1,6,8,16,17,23,5,
2008089,3,6,11,16,22,27,11,
2008090,2,7,14,18,19,24,1,
2008091,3,12,14,23,31,32,10,
2008092,1,3,18,27,28,30,5,
2008093,4,10,12,16,26,28,7,
2008094,1,4,15,16,23,28,14,
2008095,3,8,14,21,28,29,3,
2008096,6,8,12,24,27,31,14,
2008097,3,6,8,9,16,17,13,
2008098,6,7,10,11,15,30,1,
2008099,10,15,16,22,23,24,7,
2008100,8,14,17,21,27,28,14,
2008101,9,17,21,26,28,30,4,
2008102,3,7,12,21,25,32,5,
2008103,1,12,16,18,22,33,4,
2008104,3,6,8,17,24,31,1,
2008105,5,17,19,27,28,32,2,
2008106,14,19,25,27,29,30,15,
2008107,6,13,18,22,27,32,4,
2008108,9,10,15,17,23,30,12,
2008109,4,7,9,16,21,28,10,
2008110,10,16,22,23,29,31,2,
2008111,17,18,21,25,31,32,6,
2008112,5,13,14,19,22,23,6,
2008113,6,9,10,12,17,22,9,
2008114,4,9,20,24,25,31,14,
2008115,2,12,13,14,17,18,6,
2008116,3,7,21,22,24,29,14,
2008117,3,5,7,10,14,33,7,
2008118,4,9,16,27,31,33,1,
2008119,5,7,9,15,24,29,7,
2008120,10,11,22,24,26,33,2,
2008121,2,22,23,27,31,32,6,
2008122,2,8,11,14,19,26,15,
2008123,10,11,15,16,25,29,2,
2008124,1,7,10,13,21,22,3,
2008125,10,11,12,15,26,29,9,
2008126,4,11,12,14,20,30,13,
2008127,5,8,19,22,27,30,13,
2008128,1,5,19,20,27,33,5,
2008129,1,3,18,24,25,32,15,
2008130,1,12,18,28,30,32,6,
2008131,2,12,15,18,22,32,8,
2008132,9,13,16,25,27,33,8,
2008133,8,11,16,19,24,26,11,
2008134,10,15,19,20,28,32,2,
2008135,5,14,15,16,19,21,15,
2008136,5,9,10,12,18,28,2,
2008137,1,4,24,28,29,33,9,
2008138,7,14,19,23,25,32,4,
2008139,8,9,19,23,25,26,7,
2008140,7,14,16,29,30,31,14,
2008141,3,13,20,25,29,33,15,
2008142,5,6,10,13,17,28,15,
2008143,12,17,18,19,26,27,6,
2008144,2,5,10,27,29,33,15,
2008145,7,13,18,22,26,29,2,
2008146,7,8,17,19,31,32,10,
2008147,7,8,14,22,26,33,2,
2008148,3,5,9,22,26,28,9,
2008149,10,14,22,28,29,33,2,
2008150,4,19,22,24,29,32,2,
2008151,6,8,10,14,17,19,6,
2008152,1,4,6,22,26,30,8,
2008153,1,4,18,21,24,30,16,
2008154,2,5,7,21,22,26,8,
2009001,4,21,23,24,30,31,4,
2009002,10,14,17,25,29,33,14,
2009003,2,3,6,15,25,30,2,
2009004,3,11,13,17,28,31,3,
2009005,1,3,8,15,17,21,13,
2009006,6,12,18,20,26,33,2,
2009007,1,5,12,23,25,26,15,
2009008,4,15,16,22,32,33,2,
2009009,8,15,21,30,31,33,2,
2009010,3,10,17,19,20,24,2,};
int c[6]={-1,-1,-1,-1,-1,-1,};
int c0[6];
int chuli(char b[1][20]);
void paicl(int c0[7],int );
void cl(int bum1,int n,int s);
void paixu(int c[],int);
double gailu();
int panduan(int kc[6],int);
int main()
{
	
	int y=1,x=1,kc[6];
	long t;
	while(y)
	{
		int i,j=0;
		
	    s=0;
		char b[1][20];
		while(1)
		{
			cout<<"*******************功能1*******************"<<endl;
			cout<<"输入一组数据(6个整数组成,每个数据用空格隔开)"<<endl;
			for(i=0;i<6;i++)
			{
				cin>>c0[i];
				if(c0[0]==0)
					break;
			}
			if(c0[0]==0)
				break;
			
			paixu(c0,6);
			
			cout<<"输入元素个数"<<endl;
			cin>>n;
			if(n==0)
				break;
			paicl(c0,n);
			s=0;
			cout<<endl;
			cout<<"是否继续功能1?(是输入1,否输入0)"<<endl;
			cin>>x;
			if(x==0)
				break;
		}
		cout<<"是否进入功能2(是 输入1,否输入0)"<<endl;
		cin>>x;
		cout<<endl;
		while(x)
		{
			s=0;
			cout<<"*******************功能2*******************"<<endl;
			cout<<"输入要统计的组数"<<endl;
			cin>>m;
			if(m==0)
				break;
			while(m)
			{
				j++;
				cout<<endl;
				cout<<"输入第"<<j<<"组数据(数据与数据间用“*”号隔开)"<<endl;
				for(i=0;i<20;i++)
					b[0][i]='#';
				cin>>b[0];
				if(b[0][0]=='0')
					break;
				n=chuli(b);
				g[j]=gailu();
				s=s+g[j];
				m--;
				//cout<<n<<endl;
		
			}
			s=s/j;
			cout<<"经统计,上述数据平均概率为"<<s<<"%"<<endl;
			break;
		}
		while(1)
		{
			cout<<"*******************功能3*******************"<<endl;
			cout<<"输入生成序列组数"<<endl;
			cin>>n;
			srand((unsigned)time(&t));
			if(n==0)
				break;
			while(n)
			{
				
				for(i=0;i<6;i++)
				{
					kc[i]=rand()%(33)+1;
					if(panduan(kc,i))
						i--;
					else
						cout<<kc[i]<<" ";
				}
				cout<<endl;
				n--;
			}
			cout<<"是否继续功能3?(是 输入1,否输入0)"<<endl;
			cin>>n;
			if(n==0)
				break;
		}
		

		cout<<"是否继续?(是 输入1,否输入0)"<<endl;
		cin>>y;
		cout<<endl;
	}
	return  0;
}

int chuli(char b[1][20])
{
	int i, i1,j1=0,j=0,x=0,k=0;
	for(i=0;i<20;i++)
	{
		if(b[0][i]=='*')
		{
			for(i1=j1;i1<i;i1++)
			{
				k=b[0][i1]-48+k*10;
			}
            c[j]=k;
			j++;
			x++;
			j1=i+1;
			k=0;
		}
		else if(b[0][i]=='#')
			break;

	}
	for(i1=j1;i1<i-1;i1++)
	{
		k=b[0][i1]-48+k*10;
	}
	c[j]=k;
	j++;
	x++;
	j1=i+1;
	k=0;
	paixu(c,x);
	/*for(i=0;i<7;i++)
	{
		if(c[i]!=-1)
			cout<<c[i]<<" ";
		else if(c[i]==-1)
			break;
		
	}*/
	cout<<endl;
	return x;

}
double gailu()
{
	int i,j,k=0;
	double g1,x=0;
    for(i=0;i<200;i++)
	{
		j=1;
		while(1)
		{
			if(c[k]==a[i][j])
			{
				//cout<<"c["<<k<<"]="<<c[k]<<endl;
                //cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;
				//cout<<"Y"<<endl;

				k++;
			}
			else
				j++;
			if(k>=n)
				break;
			if(j>=7)
				break;
		}
		if(k==n)
		{
			cout<<"第"<<a[i][0]<<"期出现过该组数据"<<endl;
			x++;
		}
		k=0;
	}
	g1=double(x/200.0);
	cout<<"该组数据出现概率为"<<g1<<"%"<<endl;
	return g1;
}
void paicl(int c0[7],int n)
{
	int b=0,bum1,bum2,bum3,num1,num2,num3,ij;
	int i,j=1;
	int sk=0;
	if(n==2||n==4)
		sk=15;
	else if(n==1||n==5)
		sk=6;
	else if(n==3)
		sk=20;
	else if(n==6)
		sk=1;
    for(i=1;i<=n;i++)
	{
		b=b*10+j;
		j++;
	}
	//cout<<"b="<<b<<endl;
	bum1=b;
	bum2=b;
	bum3=b;
	num1=n;
	num2=n;
	num3=n;
	i=1;
	j=1;
	ij=1;
	int skc=sk;
	int jum=0;

	while(1)
	{
	
		//cout<<bum1<<endl;
		cl(bum1,n,sk);
		bum1=bum1+1;
		if(bum1%10>6)
		{
			
			bum1=bum2+11*i;
			i++;
            //num1=num1-1;
			if(i==6-num1+2)
			{
				//cout<<"i="<<i<<endl;
				bum2=bum2+111;
				bum1=bum2;
				num1=num1+1;
				//cout<<"num1="<<num1<<endl;
				i=1;
				j++;
				//cout<<"j="<<j<<endl;
				if(j==6-num2+2)
				{
					bum3=bum3+1111;
					bum2=bum3;
					bum1=bum2;
					num2=num2+1;
					//num1=num1-1;
					//i--;
					num1=n+1;
					i=1;
					j=1;
					ij++;
					if(ij==6-num3+2)
					{
						bum1=b+11111;

					}
				

				}
			}
		}
		skc--;
		jum++;
		if(skc==0)
			break;
	}
	cout<<"以上各组平均出现的概率为"<<s/sk<<"%"<<endl;
}
void cl(int bum,int n,int jum)
{
	//cout<<bum<<endl;
	int kc,sum,i,j=0,sa[6],sb[6],k=0;	
	sum=bum;
	for(i=0;i<n;i++)
	{
	    kc=sum%10;
		sa[i]=kc;
		//cout<<"sa[n-1]"<<sa[n-2]<<endl;
		sum=sum/10;
	}
	for(i=n-1;i>=0;i--)
	{
		sb[i]=sa[j];
		j++;
	}
	for(i=0;i<n;i++)
	{
		c[i]=c0[sb[i]-1];
		cout<<c[i]<<" ";
		
	}
	cout<<endl;
	//cout<<"c0[sb[i]-1]="<<c0[sb[0]-1]<<endl;
	double g1,x=0;
    for(i=0;i<200;i++)
	{
		j=1;
		while(1)
		{
			if(c[k]==a[i][j])
			{
				//cout<<"c["<<k<<"]="<<c[k]<<endl;
                //cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;
				//cout<<"Y"<<endl;

				k++;
			}
			else
				j++;
			if(k>=n)
				break;
			if(j>=7)
				break;
		}
		if(k==n)
		{
			cout<<"第"<<a[i][0]<<"期出现过该组数据"<<endl;
			x++;
		}
		k=0;
	}
	g1=double(x/200.0);
	s=g1+s;
	cout<<"该组数据出现概率为"<<g1<<"%"<<endl;
}
void paixu(int a[6],int k)
{
	int bum,i,j;
	for(i=0;i<k;i++)
		for(j=i+1;j<k;j++)
		{
			if(a[i]>a[j])
			{
				bum=a[i];
				a[i]=a[j];
				a[j]=bum;
			}
		}
	/*for(i=0;i<6;i++)
		cout<<a[i]<<" ";*/
}
int panduan(int kc[6],int num)
{
	int i;
	for(i=0;i<num;i++)
	{
		if(kc[num]==kc[i])
			return 1;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -