Напечатать слова, которые состоят из тех же букв, что и последнее слово предложения - C#
Формулировка задачи:
Программа. Дано предложение, содержащее от 2 до 30 слов, в каждом из которых от 2 до 15 латинских букв, между словами - пробелы, за последним словом - точка. Напечатать все слова, которые состоят из тех же букв, что и последнее слово предложения.
Решение задачи: «Напечатать слова, которые состоят из тех же букв, что и последнее слово предложения»
textual
Листинг программы
using System; using System.Text.RegularExpressions; using System.Linq; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Console.Write("Введите от 2х до 30 слов, разделяя их пробелами: \n"); string fullSentence = Console.ReadLine(); string[] words = fullSentence.Split(new char[]{'.',' ','\t'}, StringSplitOptions.RemoveEmptyEntries); string withoutLastWord = string.Empty; for (int i = 0; i < words.Length-1; i++) { withoutLastWord += words[i] + " "; } string matchString = string.Empty; foreach (char c in words[words.Length-1]) { if (!matchString.Contains(c)) { matchString += c; } } string pattern = "[" + matchString + "]{2,}"; RegexOptions options = RegexOptions.IgnoreCase; Regex myReg = new Regex(pattern,options); MatchCollection matches = myReg.Matches(withoutLastWord); Console.WriteLine("Ответ: "); foreach (Match match in matches) { Console.WriteLine(match.Value); } Console.WriteLine("Число найденных совпадений: {0}",matches.Count); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д