Un prototipo en Delphi, ya lo pasaras/afinaras para c++
Código Delphi
[-]
function ObtenerFilas(x,y z: Integer; ADataSet: TDataSet): TList< Integer >;
var
ValA, ValB: Integer;
begin
Result := TList< Integer >.Create; ADataSet.DisableControls;
try
ADataSet.First;
while not ADataSet.Eof do
begin
ValA := ADataSet.FieldByName('A').AsInteger;
ValB := ADataSet.FieldByName('B').AsInteger;
if CumpleCondicion1(x, y, z, ValA, ValB) then
Result.Add(ADataSet.RecNo);
ADataSet.Next;
end;
finally
ADataSet.EnableControls;
end;
end;
Con eso obtendrias la lista de filas que cumplen con la condicion1. Despues deberias procesar esa lista y ver si hay 10 consecutivas. Con esa misma lista podrias pintar el DBGrid tranquilamente