private static IClustersList ComputeClustering(KMeans km, string fileName, int nItemsCount, string userMessage) { int nUsersCount = km.LoadCentroidsFromFile(fileName); int nInitialCent = 0; int nItemsPerCluster = 0, nItemsPerClusterMax = 0; if (nItemsCount > 0 && nUsersCount > 0) { do { nItemsPerClusterMax = nItemsCount / nUsersCount; Console.Write($"{userMessage} [2-{nItemsPerClusterMax}]: "); nItemsPerCluster = int.Parse(Console.ReadLine()); } while (nItemsPerCluster < 2 || nItemsPerCluster > nItemsPerClusterMax); do { Console.Write("\nEnter the number of initial centroids [1-{0}]: ", nUsersCount); nInitialCent = int.Parse(Console.ReadLine()); } while (nInitialCent < 1 || nInitialCent > nUsersCount); } return(km.Compute(nInitialCent, nItemsPerCluster)); }