static void Main(string[] args) { KMeans km = new KMeans(); int nItemsCount = km.LoadItemsFromFile(FileNames.MoviesFile); Dictionary <string, List <string> > usersAndTheirSeenMovies = new Dictionary <string, List <string> >(); usersAndTheirSeenMovies = FileNames.LoadUserDataFromFile(FileNames.UsersMovies); var user = ReadUserForRecommendation(usersAndTheirSeenMovies); var seenMovies = usersAndTheirSeenMovies[user]; IClustersList obtainedClusters = new IClustersList(); obtainedClusters = ComputeClustering(km, FileNames.GenresFile, nItemsCount, "Enter the number of movies per genre"); File.Delete(FileNames.RecommendedMovies); RecommendMoviesBasedOnClusters(seenMovies, obtainedClusters); km = new KMeans(); nItemsCount = km.LoadItemsFromFile(FileNames.RecommendedMovies); var newObtainedClusters = ComputeClustering(km, FileNames.RankingFile, nItemsCount, "Enter the number of movies per rank"); RecommendMoviesBasedOnClusters(seenMovies, newObtainedClusters, true); Console.Read(); }