for (int i = 0; i < clustCount; i++) { int squareMin = 0, perimMin = 0; double compactMin = 0, elongationMin = 0, orientMin = 0; int squareMax = 0, perimMax = 0; double compactMax = 0, elongationMax = 0, orientMax = 0; squareMin = squareMax = objects[0].Square; perimMin = perimMax = objects[0].Perimeter; compactMin = compactMax = objects[0].Compactness; elongationMax = elongationMin = objects[numberOfObject].elongation; foreach (int numberOfObject in (List)table[i]) { if(objects[numberOfObject].Square > squareMax) squareMax = objects[numberOfObject].Square; if(objects[numberOfObject].Square < squareMin) squareMin = objects[numberOfObject].Square; if(objects[numberOfObject].Perimeter > perimMax) perimMax = objects[numberOfObject].Perimeter; if(objects[numberOfObject].Perimeter < perimMin) perimMin = objects[numberOfObject].Perimeter; if(objects[numberOfObject].Compactness > compactMax ) compactMax = objects[numberOfObject].Compactness; if(objects[numberOfObject].Compactness < compactMin ) compactMin = objects[numberOfObject].Compactness; if(objects[numberOfObject].elongation > elongationMax) elongationMax = objects[numberOfObject].elongation; if(objects[numberOfObject].elongation < elongationMin) elongationMin = objects[numberOfObject].elongation; } int count = ((List)table[i]).Count(); if (count != 0) { medians[i].Square = squareMin + squareMax / 2; medians[i].Perimeter = perimMin + perimMax/ 2; medians[i].Compactness = compactMin + compactMax / 2; medians[i].elongation = elongationMin + elongationMax / 2; // medians[i].OrientationOfMainAxis = orientSum / count; } }