曜日ごとに順序付けられた、ゼロ以上の7つの数値があります。最小で1つ、またはすべての値がゼロより大きい場合があります。>0の値がSINGLEシーケンスで発生するかどうかを判断する方法が必要です。
例えば:
0, 8, 8, 0, 0, 0, 0
単一のシーケンスになりますが
8, 0, 8, 8, 8, 0, 0
2つの別個のシーケンスがあるため、資格がありません。また、グループ全体にゼロより大きい値が1つしかない場合は、それを適格なシーケンスと見なしたいと思います。
私は7つの変数を受け取り、それぞれがゼロか非ゼロかを基にブール配列に詰め込む関数から始めました。0の場合はfalse、> 0の場合はtrueで、次のようになります。
{false, true, true, false, false, false, false}
次に、その配列の内容に上記の修飾に従って修飾シーケンスが含まれているかどうかを判断する必要があります。何か案は?
少しでも価値がありますが、これはこれまでの私の機能です。
Public Function IsConcurrent(D1, D2, D3, D4, D5, D6, D7) As Boolean
Dim arr(6) As Single
arr(0) = D1
arr(1) = D2
arr(2) = D3
arr(3) = D4
arr(4) = D5
arr(5) = D6
arr(6) = D7
Dim concurrent As Boolean = False
If CSng(arr(0)) > 0 Then concurrent = True
For k = 2 To 7
If arr(k - 1) = arr(k - 2) Then
Else
End If
Next
Return concurrent
End Function