Найти слова в txt встречающиеся в каждом предложении или сообщить, что таких слов нет - C#
Формулировка задачи:
Дан файл, содержащий текст на русском языке. Найти слова, встречающиеся в каждом предложении, или сообщить, что таких слов нет. (В консоле) вот то что написал но оно не работает, ну точнее работает но неправильно :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
private static StreamReader reader;
static void Main(string[] args)
{
reader = new StreamReader(@"c:\test.txt");
string slova = reader.ReadToEnd();
Console.WriteLine(" " + slova);
Console.WriteLine("!!!!Нажми что-то чтоб это попыталось заработать!!!!");
Console.ReadLine();
List<string> list = new List<string>();
//Console.WriteLine("Повторяющиеся слова:");
for (int i = 0; i < slova.Length; i++)
{
for (int j = 0; j < slova.Length; j++)
{
if (i != j)
{
if (slova[i] == slova[j] && !list.Contains(slova[i]))
list.Add(slova[i]);
}
}
}
foreach (string slovo in list.ToArray())
Console.Write(slovo);
Console.ReadKey();
}
}
}Решение задачи: «Найти слова в txt встречающиеся в каждом предложении или сообщить, что таких слов нет»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
string[][] words;
StreamReader reader = new StreamReader(@"c:\test.txt", Encoding.Default);
string text = reader.ReadToEnd();
Console.WriteLine(text);
string[] lines = text.Split(new char[] {'.'}, StringSplitOptions.RemoveEmptyEntries);
words=new string[lines.Length][];
List<string> list = new List<string>();
for (int i=0; i<lines.Length; i++)
words[i] = lines[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("Повторяющиеся слова:");
for (int i = 0; i < words[0].Length; i++)
{
bool inAllLines = true;
for (int j = 1; j < words.Length; j++)
{
if (!words[j].Contains(words[0][i]))
{
inAllLines = false;
break;
}
}
if (inAllLines)
list.Add(words[0][i]);
}
foreach (string word in list)
Console.WriteLine(word);
if (list.Count==0)
Console.WriteLine("Нема!");
Console.ReadLine();
}
}