Напечатать все слова предложения, которые являются частью других слов предложения - C#
Формулировка задачи:
Доброго времени суток! Суть вопроса в следующем: дан массив строк, в нём нужно найти слова, которые являются подсловами других слов. Пожалуйста, скажите как это можно алгоритмизировать? Второй день думаю, но что-то никак не доходит(
Решение задачи: «Напечатать все слова предложения, которые являются частью других слов предложения»
textual
Листинг программы
internal class FindedWordData
{
public string Word { get; set; }
public string InWord { get; set; }
}
internal static class WordHelper
{
public static List<FindedWordData> InWords(this IEnumerable<string> wrds)
{
var result = new List<FindedWordData>();
var words = wrds.ToList();
for (int i = 0; i < words.Count; i++)
{
var processingWord = words[i];
for (int j = 0; j < words.Count; j++)
{
if(i == j)
continue;
var word = words[j];
if (word.IndexOf(processingWord, StringComparison.CurrentCultureIgnoreCase) > -1)
{
result.Add(new FindedWordData {Word = processingWord,InWord = word});
}
}
}
return result;
class Program
{
static void Main(string[] args)
{
var words = new[] {"Калина", "Алина", "на", "а", "Порог", "рог"};
var result = words.InWords();
Console.ReadKey();
}
}