我想判断每列间隔跳开的数字组合,例如5 2 4 2 这些数字都被2这个数字间隔开来了,这种情况就是我要的,如果接下去5 2 4 2 5或者5 2 4 2 4 新出现的数字为5或者4,还是接着判断为符合,因为5和4曾经出现在我们判断的4个数字组合里被2间隔开。接着下去的数字若再出现为2也继续判断为符合,因为2还是和上面一样的跳开所需的相同数字,若出现的数字不是2,是其他数字就不是相同数字的间隔了,就不成立了。如此循环一直下去判断。下面举例说明下红框里面的3列数字 7 9 10 9 7 和 3 4 5 4 5 和10 5 1 5 1
我需要用前4个间隔跳开的数字来判断第五个数字  
也就是
7 9 10 9来判断 只要出现的是7和10就符合
3 4 5 4 来判断 只要出现的是3和5就符合
10 5 1 5 来判断 只要出现的是10和1就符合能明白吗 然后判断好第第五个数字后  再循环的以第2个数字到第5个数字为新的引去判断新的第五个数字(也就是原来的第六个数字这样)。判断好后,再循环以原来的第3个数字到第6个数字去判断新的第五个数字(也就是原来的第七个数字,如此循环一直下去。再详细举一列来说明
7 9 10 9 这4个数字来判断 如果出现的数字为7或者10就符合条件,结果是7,条件符合,接着下去判断9 10 9 7如果出现的是9则符合,结果出现的是2,条件不符合,接着下去判断10 9 7 2,这4个数字无规律则自动视为无效,接着下去判断9 7 2 6,这4个数字也无规律视为无效,接着下去判断7 2 6 1,这4个数字也无规律视为无效,接着下去判断2 6 1 9,这4个数字也无规律视为无效,接着下去判断6 1 9 9,这4个数字也无规律视为无效,接着下去判断1 9 9 7,这4个数字也无规律视为无效,接着下去判断9 9 7 9,规律出现,如果第五个数字是7或者9则条件符合,结果是2则不符合条件,接着下去判断9 7 9 2,规律符合跳开,如果出现的是9则符合条件,结果是6,条件不符合。

解决方案 »

  1.   

    这个帖子怎么没人回呢。直接上代码吧。
    //一列的数据
                int[] arrLine1 = new int[] {4,3,2,1,10,10,8,10,9,4,7,9,10,9,7,9,6,1,9 };
                for (int i = 4; i < arrLine1.Length; i++)
                {
                    //规律1:第一个和第三个相等
                    if (arrLine1[i - 4] == arrLine1[i - 2])
                    {                    
                        //如果第五个数和第一个相等
                        if (arrLine1[i] == arrLine1[i - 4])
                        {
                            //这5个数满足条件,下面这句是把这5个数显示到listBox,你可以改成你想要的
                            //listBox1.Items.Add(string.Format("{0},{1},{2},{3},{4}", arrLine1[i - 4], arrLine1[i - 3], arrLine1[i - 2], arrLine1[i - 1], arrLine1[i]));
                            continue;
                        }                }
                    //规律1:第二个和第四个相等
                    if (arrLine1[i - 3] == arrLine1[i - 1])
                    {
                        //如果第五个数和第一个相等或者和第三个相等
                        if (arrLine1[i] == arrLine1[i - 4] || arrLine1[i] == arrLine1[i - 2])
                        {
                            //这5个数满足条件
                            //listBox1.Items.Add(string.Format("{0},{1},{2},{3},{4}", arrLine1[i - 4], arrLine1[i - 3], arrLine1[i - 2], arrLine1[i - 1], arrLine1[i]));
                        }
                    }
                }
      

  2.   

    http://bbs.csdn.net/topics/390509820
    100分跪求了