Информатика, вопрос задал Стас1232 , 7 лет назад

C#
Напишите программу с использованием регулярных выражений, выполняющую проверку, является ли слово палиндромом.

Ответы на вопрос

Ответил MaxLevs
0

Код, приведенный ниже, работает не только со словами, но и со строками.

Например, "На в лоб, Болван" определяется как полиндром.


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))? "": " НЕ");

           }

       }

   }

}

Ответил MaxLevs
0
Прошло столько лет, а форматирование кода на знаниях так и не прикрутили. Наглядность? В топку эту ненужную ${something_else_here}!
Ответил MaxLevs
0
Привет Эникей, всё ещё тут? ;D
Ответил Аноним
0
Увы, пока да
Новые вопросы