void MapCorrectMinSpace (const CGraphmatFile& G, size_t LB, size_t HB, WORD& FuzzyMinSpace, WORD& MinSpace, int& NumOfFilledLines, const vector<WORD>& gLeftMargins ) { size_t LeftMargins [MaxLeftMargin]; MinSpace = 100; //инициализция частотоного массива левых отступов size_t k; for ( k=0; k<MaxLeftMargin; k++) LeftMargins[k] = 0; //вычисление частотного массива левых отступов и минимального левого отступа for (size_t i=LB; i<HB; i++) if ((i==1) || G.GetUnits()[i].IsEOLN()) { i++; if (i == HB) break; i = G.PSpace (i,HB); if (i == HB) break; if (!G.GetUnits()[i].IsGrouped()) { if (MinSpace < gLeftMargins[i]) MinSpace = gLeftMargins[i]; NumOfFilledLines ++; if (gLeftMargins[i] < MaxLeftMargin) LeftMargins[gLeftMargins[i]]++; } }; FuzzyMinSpace = MinSpace; for (k=0; k<MaxLeftMargin; k++) if (LeftMargins[k] > (NumOfFilledLines/100)) { FuzzyMinSpace = k; break; }; }