Напечатать все слова текста, отличные от последнего слова, оставив в них только первые вхождения каждой буквы - C#
Формулировка задачи:
Дан текст, напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: оставить в слове только первые вхождения каждой буквы.
Решение задачи: «Напечатать все слова текста, отличные от последнего слова, оставив в них только первые вхождения каждой буквы»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string text = "elephant element acacept regard aaacccceepptt shell acceppt test accept";
List<string> format = new List<string>();
foreach (string word in text.Split(' '))
format.Add(TransformWord(word));
foreach (string word in format)
if (word != format.Last())
Console.Write(word + " ");
Console.ReadKey();
}
static string TransformWord(string target)
{
string result = String.Empty;
for (int i = target.Length - 1; i >= 0; i--)
if (!target.Substring(0, i).Contains(target[i]))
result += target[i];
char[] array = result.ToCharArray();
Array.Reverse(array);
return new String(array);
}
}
}