Код, приведенный ниже, работает не только со словами, но и со строками.
Например, "На в лоб, Болван" определяется как полиндром.
using System;
using System.Linq;
using System.Text.RegularExpressions;
namespace PolyndromeFinder
{
class Program
//===================================
// [START] Тот самый участок кода
static bool IsPolyndrome(string victim)
victim = victim // Нормализуем строку
.Replace(" ", "")
.Replace(",", "")
.Replace(".", "")
.Replace("?", "")
.Replace("!", "")
.ToLower();
var check = new Regex(victim); // Создаём на её основе регулярное выражение
return check.IsMatch(new string(victim.Reverse().ToArray())); // Переворачиваем строку и сверяем с регуляркой
}
// [END] Тот самый участок кода
static void Main(string[] args)
bool answer;
while (true)
Console.Write("Введите строку: ");
string superPositionPolyndrome = Console.ReadLine();
Console.WriteLine("Это{0} полиндром!\n", (answer = IsPolyndrome(superPositionPolyndrome))? "": " НЕ");
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Код, приведенный ниже, работает не только со словами, но и со строками.
Например, "На в лоб, Болван" определяется как полиндром.
using System;
using System.Linq;
using System.Text.RegularExpressions;
namespace PolyndromeFinder
{
class Program
{
//===================================
// [START] Тот самый участок кода
//===================================
static bool IsPolyndrome(string victim)
{
victim = victim // Нормализуем строку
.Replace(" ", "")
.Replace(",", "")
.Replace(".", "")
.Replace("?", "")
.Replace("!", "")
.ToLower();
var check = new Regex(victim); // Создаём на её основе регулярное выражение
return check.IsMatch(new string(victim.Reverse().ToArray())); // Переворачиваем строку и сверяем с регуляркой
}
//===================================
// [END] Тот самый участок кода
//===================================
static void Main(string[] args)
{
bool answer;
while (true)
{
Console.Write("Введите строку: ");
string superPositionPolyndrome = Console.ReadLine();
Console.WriteLine("Это{0} полиндром!\n", (answer = IsPolyndrome(superPositionPolyndrome))? "": " НЕ");
}
}
}
}