static void Main(string[] args) { /// <summary> /// Feladat Tétel: /// Legyen A és B két string. Azt mondjuk, hogy A és B ciklikusan ekvivalens, ha létezik /// olyan U és V string, melyre A=UV, B=VU. /// Például, ha A=’12345’ és B=’34512’ , akkor A és B ciklikusan ekvivalensek (U=’12’ , V=’345’ ). /// Ha C=’12435’ , akkor A és C nem ciklikusan ekvivalensek. /// /// Feladat Spcifikáció /// Legyen adott egy T szöveg (text fájlból beolvasandó). /// Keressük meg azt a T-beli szót, amelynek a legtöbb ciklikusan elforduló ekvivalense szerepel T-ben. /// A talált szót és a vele ekvivalens szavakat írjuk ki. /// </summary> Console.WriteLine("IMK10Y\nSTART"); Utils.Separator(0); Console.WriteLine("1. Initating filehandler object..."); Console.WriteLine("Give the full path to the file: "); string path = Console.ReadLine(); FileHandler fileHandler = new FileHandler(); string fileContentAsOneString = fileHandler.OpenFileAndGetContentAsString(path); Utils.Separator(1); Console.WriteLine("2. Removing punctuations..."); fileContentAsOneString = Utils.RemovePunctuations(fileContentAsOneString); Utils.Separator(1); Console.WriteLine("3. Converting the text to lowercase..."); fileContentAsOneString = Utils.ConvertStringToLowerCase(fileContentAsOneString); Utils.Separator(1); Console.WriteLine("4. Split the text into words..."); List<string> wordList = Utils.SplitWords(fileContentAsOneString); Utils.Separator(2); Console.WriteLine("5. Creating analyzer object..."); CyclicRedundancyAnalyzer analyzer = new CyclicRedundancyAnalyzer(); List<string> maxMatchesInWholeText = new List<string>(); for (int i = 0; i < wordList.Count; i++) { List<string> resultsForActualWord = analyzer.CountRedundancy(wordList); if (maxMatchesInWholeText.Count() < resultsForActualWord.Count()) { maxMatchesInWholeText = resultsForActualWord.ToList<string>(); Console.WriteLine("The maximum of cyclic redundancy matches is: "+maxMatchesInWholeText.Count()); Console.Write("The words: "); foreach (var item in maxMatchesInWholeText) { Console.Write(item + " "); } Console.WriteLine(); } } Utils.Separator(2); Console.WriteLine("END"); Console.ReadLine(); }