Вывести слова, которые отличны от последнего слова - C#
Формулировка задачи:
Задание: Дан текст. Вывести слова, которые отличны от последнего слова и в них нет повторяющихся букв.
Мой код: Не правильно обрабатывает 2 одинаковые буквы в слове. В коде это момент с циклами j и k.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lab3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите строку:");
string one = Console.ReadLine();
if (one.Length < 1)
{
Console.WriteLine("Ошибка.");
Console.WriteLine("Нажмите любую клавишу...");
Console.ReadKey();
return;
}
string[] split;
string word;
split = one.Split(' ', '\n');
word = split[0];
char[] temp;
bool flag = false;
for (int i = 0; i < split.Length - 1; i++)
{
if (!split[i].Equals(split[split.Length - 1]))
{
temp = split[i].ToCharArray();
flag = false;
for (int j = 0; j < split[i].Length - 1; j++)
{
for (int k = 0; k < split[i].Length - 1; k++)
{
if (temp[j] == temp[k] && j != k)
{
flag = true;
}
}
}
if (flag == false) Console.WriteLine(split[i]);
}
}
Console.ReadKey();
}
}
}Решение задачи: «Вывести слова, которые отличны от последнего слова»
textual
Листинг программы
for (int i = 0; i < split.Length - 1; i++)
{
if (!split[i].Equals(split[split.Length - 1]))
{
if (split[i].Distinct().ToArray().Length==split[i].Length)
Console.WriteLine(split[i]);
}
}