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

📄 groups.cs

📁 我自己开发的双色球预测软件
💻 CS
📖 第 1 页 / 共 4 页
字号:
                                }

                            }
                            
                        }
                    }
                    else
                    {
                        //一区
                        tempResult = new int[firstItemTotal][];
                        

                        for (int i = 0; i < firstItemTotal; i++)
                        {
                            iNum = iNum + 1;
                            tempResult[iNum - 1] = new int[6];
                            iTemp = 0;
                            //把第一区的结果赋给结果数组
                            for (int n = 0; n < group.GetFirstNum(); n++)
                            {
                                iTemp = iTemp + 1;
                                tempResult[iNum - 1][n] = int.Parse(firstGroup[i][n].ToString());
                            }
                        }
                    }
                }
            }
            else
            {
                if (secondItemTotal > 0)
                {
                    if (thirdItemTotal > 0)
                    {
                        //二三区
                        tempResult = new int[secondItemTotal * thirdItemTotal][];

                        for (int j = 0; j < secondItemTotal; j++)
                        {
                            for (int k = 0; k < thirdItemTotal; k++)
                            {
                                iNum = iNum + 1;
                                tempResult[iNum - 1] = new int[6];
                                iTemp = 0;

                                //把第二区的结果赋给结果数组
                                for (int n = 0; n < group.GetSecondNum(); n++)
                                {
                                    iTemp = iTemp + 1;
                                    tempResult[iNum - 1][iTemp - 1] = int.Parse(secondGroup[j][n].ToString());
                                }
                                //把第三区的结果赋给结果数组
                                for (int n = 0; n < group.GetThirdNum(); n++)
                                {
                                    iTemp = iTemp + 1;
                                    tempResult[iNum - 1][iTemp - 1] = int.Parse(thirdGroup[k][n].ToString());
                                }

                            }
                        }
                        
                    }
                    else
                    {
                        //二区
                        tempResult = new int[secondItemTotal][];

                        for (int j = 0; j < secondItemTotal; j++)
                        {
                            iNum = iNum + 1;
                            tempResult[iNum - 1] = new int[6];
                            iTemp = 0;

                            //把第二区的结果赋给结果数组
                            iTemp = 0;
                            for (int n = 0; n < group.GetSecondNum(); n++)
                            {
                                iTemp = iTemp + 1;
                                tempResult[iNum - 1][iTemp - 1] = int.Parse(secondGroup[j][n].ToString());
                            }                                
                        }
                        
                    }
                }
                else
                {
                    if (thirdItemTotal > 0)
                    {
                        //三区
                        tempResult = new int[thirdItemTotal][];

                        for (int k = 0; k < thirdItemTotal; k++)
                        {
                            iNum = iNum + 1;
                            tempResult[iNum - 1] = new int[6];
                            iTemp = 0;
                            //把第三区的结果赋给结果数组
                            for (int n = 0; n < group.GetThirdNum(); n++)
                            {
                                iTemp = iTemp + 1;
                                tempResult[iNum - 1][iTemp - 1] = int.Parse(thirdGroup[k][n].ToString());
                            }
                        }
                    }
                    else
                    {
                        //没有选择任何数据
                        tempResult = new int[0][];
                    }
                }
            }
            return tempResult;
        }
        #endregion

        #region//获得当前组的所有组合
        ///<summary>
         ///获得当前组的所有组合
         ///</summary>
         ///<param name="group">当前组</param>
         ///<param name="seedNum">当前组中的种子数</param>
         ///<returns>返回一个所有组合的二维数组</returns>
        private int[][] GetGroup(int[] group, int seedNum)
        {
            int firstItemNum;   //当前数组的长度 
            int groupItemTotal; //结果集总数
            int itemNum;        //临时变量
            int[][] tempGroup;  //中间临时数组
            int[] temp;         //临时数组

            itemNum = 0;
            temp =new int[seedNum];
            firstItemNum = group.Length;
            groupItemTotal = GetGroupItemTotal(firstItemNum, seedNum);
            tempGroup = new int[groupItemTotal][];
            firstItemNum = group.Length;

            //穷举当前组中种子数情况,最多六种
            switch (seedNum)
            {
                case 1:
                    for (int i=0 ;i<firstItemNum;i++)
                    {
                        tempGroup[i] = new int[seedNum];
                        tempGroup[i][0] = int.Parse(group[i].ToString());
                    }
                    //tempGroup = group;
                    break;
                case 2:
                    for (int i = 0; i < firstItemNum ; i++)
                    {
                        for (int j = 1; j < firstItemNum ; j++)
                        {
                            if (j <= i)
                            {
                                continue;
                            }
                            itemNum =itemNum +1;
                            tempGroup[itemNum - 1] = new int[seedNum];

                            tempGroup [itemNum-1 ][0]=int.Parse ( group[i].ToString ());
                            tempGroup [itemNum-1 ][1]=int.Parse ( group[j].ToString ());
                        }
                    }
                    break;
                case 3:
                    //Console.WriteLine("Case 3");
                    for (int i = 0; i < firstItemNum; i++)
                    {
                        for (int j = 1; j < firstItemNum; j++)
                        {
                            if ( j <= i)
                            {
                                continue;
                            }
                            for (int k = 2; k < firstItemNum; k++)
                            {
                                if ((k == i) || k <= j)
                                {
                                    continue;
                                }
                                itemNum = itemNum + 1;
                                tempGroup[itemNum - 1] = new int[seedNum];
                                tempGroup[itemNum - 1][0]= int.Parse(group[i].ToString());
                                tempGroup[itemNum - 1][1]= int.Parse(group[j].ToString());
                                tempGroup[itemNum - 1][2]= int.Parse(group[k].ToString());
                                //Console.Write("{0}   ",group[i].ToString());
                                //Console.Write("{0}   ",group[j].ToString());
                                //Console.WriteLine("{0}   ",group[k].ToString());
                            }
                        }
                    }
                    break;
                case 4:
                    //Console.WriteLine("Case 4");
                    for (int i = 0; i < firstItemNum; i++)
                    {
                        for (int j = 1; j < firstItemNum; j++)
                        {
                            if (j <= i)
                            {
                                continue;
                            }                            
                            for (int k = 2; k < firstItemNum; k++)
                            {
                                if (k == i || k <= j)
                                {
                                    continue;
                                }
                                for (int l = 3; l < firstItemNum; l++)
                                {
                                    if (l == i || l == j || l <= k)
                                    {
                                        continue;
                                    }
                                    itemNum = itemNum + 1;
                                    tempGroup[itemNum - 1] = new int[seedNum]; 
                                    tempGroup[itemNum - 1][0] = int.Parse(group[i].ToString());
                                    tempGroup[itemNum - 1][1] = int.Parse(group[j].ToString());
                                    tempGroup[itemNum - 1][2] = int.Parse(group[k].ToString());
                                    tempGroup[itemNum - 1][3] = int.Parse(group[l].ToString());
                                }
                            }
                        }
                    }
                    break;
                case 5:
                    //Console.WriteLine("Case 5");
                    for (int i = 0; i < firstItemNum; i++)
                    {
                        for (int j = 1; j < firstItemNum; j++)
                        {
                            if (j <= i)
                            {
                                continue;
                            }
                            for (int k = 2; k < firstItemNum; k++)
                            {
                                if (k == i || k <= j)
                                {
                                    continue;
                                }
                                for (int l = 3; l < firstItemNum; l++)
                                {
                                    if (l == i || l == j || l <= k)
                                    {
                                        continue;
                                    }
                                    for (int m = 4; m < firstItemNum; m++)
                                    {
                                        if (m == i || m == j || m == k || m <= l)
                                        {
                                            continue;
                                        }
                                        itemNum = itemNum + 1;
                                        tempGroup[itemNum - 1] = new int[seedNum];
                                        tempGroup[itemNum - 1][0] = int.Parse(group[i].ToString());
                                        tempGroup[itemNum - 1][1] = int.Parse(group[j].ToString());
                                        tempGroup[itemNum - 1][2] = int.Parse(group[k].ToString());
                                        tempGroup[itemNum - 1][3] = int.Parse(group[l].ToString());
                                        tempGroup[itemNum - 1][4] = int.Parse(group[m].ToString());
                                    }
                                }
                            }
                        }
                    }
                    break;
                case 6:
                    //Console.WriteLine("Case 6");
                    for (int i = 0; i < firstItemNum; i++)
                    {
                        for (int j = 1; j < firstItemNum; j++)
                        {
                            if (j <= i)
                            {
                                continue;
                            }
                            for (int k = 2; k < firstItemNum; k++)
                            {
                                if (k == i || k <= j)
                                {
                                    continue;
                                }
                                for (int l = 3; l < firstItemNum; l++)
                                {
                                    if (l == i || l == j || l <= k)
                                    {
                                        continue;
                                    }
                                    for (int m = 4; m < firstItemNum; m++)
                                    {
                                        if (m == i || m == j || m == k || m <= l)
                                        {
                                            continue;
                                        }
                                        for (int n = 5; n < firstItemNum; n++)
                                        {
                                            if (n == i || n == j || n == k || n == l || n <= m)
                                            {
                                                continue;
                                            }
                                            itemNum = itemNum + 1;
                                            tempGroup[itemNum - 1] = new int[seedNum];
                                            tempGroup[itemNum - 1][0] = int.Parse(group[i].ToString());
                                            tempGroup[itemNum - 1][1] = int.Parse(group[j].ToString());
                                            tempGroup[itemNum - 1][2] = int.Parse(group[k].ToString());
                                            tempGroup[itemNum - 1][3] = int.Parse(group[l].ToString());
                                            tempGroup[itemNum - 1][4] = int.Parse(group[m].ToString());
                                            tempGroup[itemNum - 1][5] = int.Parse(group[n].ToString());
                                        }
                                    }
                                }
                            }

⌨️ 快捷键说明

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