Заменить повторы слов точками. Пояснения к коду - C#
Формулировка задачи:
/* Дан текст не более 255 символов. Слова отделяются друг от друга пробелами.
* Заменить повторно встречающиеся слова тремя точками.
*/
Вот эту часть кода объясните, пожалуйста.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* Дан текст не более 255 символов. Слова отделяются друг от друга пробелами.
* Заменить повторно встречающиеся слова тремя точками.
*/
namespace Task2
{
class Program
{
static string text =
"Знаменательные слова — обозначающие определённые понятия (существительное, прилагательное, глагол, наречие)\n" +
"Служебные слова — служащие для связи слов между собой (союз, предлог, частица, артикль и др)";
static void Main(string[] args)
{
Console.WriteLine(text);
string[] words = text.Split(new Char[]{' '});
for (int i = 0; i < words.Length - 1; i++)
for (int j = i + 1; j < words.Length; j++)
if (words[i] == words[j] && words[i].Length > 1) words[j] = "...";
text = "\n";
foreach (string str in words)
text += str + " ";
Console.WriteLine(text);
Console.ReadKey();
}
}
}Console.WriteLine(text);
string[] words = text.Split(new Char[]{' '});
for (int i = 0; i < words.Length - 1; i++)
for (int j = i + 1; j < words.Length; j++)
if (words[i] == words[j] && words[i].Length > 1) words[j] = "...";
text = "\n";
foreach (string str in words)
text += str + " ";
Console.WriteLine(text);
Console.ReadKey();Решение задачи: «Заменить повторы слов точками. Пояснения к коду»
textual
Листинг программы
Console.WriteLine(text);
string[] words = text.Split(new Char[]{' '}); // Разбиваем строку на массив строк, разделенных пробелами
for (int i = 0; i < words.Length - 1; i++)
for (int j = i + 1; j < words.Length; j++)
if (words[i] == words[j] && words[i].Length > 1) words[j] = "..."; // Если первая строка равна второй и
// длина первой строки больше 1, заменяем
// 2 строку "..."
text = "\n";
foreach (string str in words)
text += str + " "; // Все элементы массива words собираем в одну строку
Console.WriteLine(text);
Console.ReadKey();