这样的程序怎么写呢 求高手关注下
我想判断每列间隔跳开的数字组合,例如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,条件不符合。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 这个帖子怎么没人回呢。直接上代码吧。
//一列的数据--------------------编程问答-------------------- 描述的好复杂,看了半天,你是不是这个意思:
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位=第4位,且第5位=第1位或第3位. --------------------编程问答--------------------
是这个意思,找出所有的满足条件的数据 --------------------编程问答--------------------
我看错了,你这个有点歧义:
假设放着7 9 10 9 7 9这样六个数,你是要挑出整串6个数呢,还是要挑出7 9 10 9 7和9 10 9 7 9这样两串数?
如果没有开头那个7,直接9 7 9 10 9这样的串算不算? --------------------编程问答--------------------
描述的好复杂,看了半天,你是不是这个意思:
找出所有满足条件的五位字符序列,其中第2位=第4位,且第5位=第1位或第3位.
是这个意思,找出所有的满足条件的数据
我看错了,你这个有点歧义:
假设放着7 9 10 9 7 9这样六个数,你是要挑出整串6个数呢,还是要挑出7 9 10 9 7和9 10 9 7 9这样两串数?
如果没有开头那个7,直接9 7 9 10 9这样的串算不算?
7 9 10 9 7 是我要的。(9 10 9 7 9 也是我要的。如果这里是9 10 9 7 4 那就不是我要的了) --------------------编程问答-------------------- 楼上看我2楼的代码。 --------------------编程问答--------------------
楼上看我2楼的代码。
你那代码,可以算出。有效的有几次,无效的有几次吗?都是在哪个位置上出现呢?
可以麻烦你在改进改进吗 --------------------编程问答-------------------- 代码写到这个份上,你还是看不懂吗?
用个变量记录有效次数,满足条件,有效次数加1。
至于位置不就是数组下标吗。
你自己完善吧,如果这都改不出来,你怎么在软件这个行业混啊?
--------------------编程问答-------------------- http://bbs.csdn.net/topics/390509820
100分跪求了 --------------------编程问答--------------------
代码写到这个份上,你还是看不懂吗?
用个变量记录有效次数,满足条件,有效次数加1。
至于位置不就是数组下标吗。
你自己完善吧,如果这都改不出来,你怎么在软件这个行业混啊?
5年前在软件行业混,现在已经脱离了软件行业了。。是帮个朋友写个软件。。都不知道该怎么写了
补充:.NET技术 , C#