osence

OOP 3

Oct 27th, 2020
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. using System.Collections.Generic;
  2.  
  3. namespace TextAnalysis
  4. {
  5.     static class TextGeneratorTask
  6.     {
  7.         public static string ContinuePhrase(
  8.             Dictionary<string, string> nextWords,
  9.             string phraseBeginning,
  10.             int wordsCount)
  11.         {
  12.             if (wordsCount == 0) return phraseBeginning;
  13.             int counter = 0;
  14.             string firstWord = "";
  15.             string secondWord = "";
  16.             for (int i = phraseBeginning.Length - 1; i >= 0; i--)
  17.             {
  18.                 if (phraseBeginning[i] == ' ')
  19.                 {
  20.                     counter++;
  21.                     continue;
  22.                 }
  23.                 if (counter == 2) break;
  24.                 if (counter == 0) firstWord = phraseBeginning[i] + firstWord;
  25.                 if (counter == 1) secondWord = phraseBeginning[i] + secondWord;
  26.             }
  27.             for (int i = 0; i < wordsCount; i++)
  28.             {
  29.                 if (nextWords.ContainsKey(secondWord + " " + firstWord))
  30.                 {
  31.                     string buf = nextWords[secondWord + " " + firstWord];
  32.                     secondWord = firstWord;
  33.                     firstWord = buf;
  34.                     phraseBeginning += " " + buf;
  35.                 }
  36.                 else if (nextWords.ContainsKey(firstWord))
  37.                 {
  38.                     secondWord = firstWord;
  39.                     firstWord = nextWords[firstWord];
  40.                     phraseBeginning += " " + firstWord;
  41.                 }
  42.                 else break;
  43.             }
  44.             return phraseBeginning;
  45.         }
  46.     }
  47. }
Add Comment
Please, Sign In to add comment