
Написать метод, определяющий, является ли переданная строка палиндромом, то есть текстом, который
слева направо и справа налево читается одинаково без учета пробелов и регистра символов. С помощью этого метода обработать пять разных строк и отобразить результаты на экране. на С# СРОЧНО!!!

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

Ответ:
//--- C# 7.3 ---
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace CSLear
{
class Program
{
static void Main(string[] args)
{
//Для проверки
Console.WriteLine(IsPalyndrome("abba")); // -> True
Console.WriteLine(IsPalyndrome("test")); // -> False
Console.WriteLine(IsPalyndrome("А Роза упала на лапу азора")); // -> true
Console.WriteLine(IsPalyndrome("abba")); // -> ture
Console.WriteLine(IsPalyndrome("Он дивен, палиндром! И ни морд, ни лап не видно...")); // -> true
Console.ReadLine();
}
//Сам метод, определяющий палиндром
public static bool IsPalyndrome(string Text)
{
var CleanedString = CleanString(Text.ToLower());
var Reversed = CleanedString.Reverse().ToString();
return CleanedString == string.Join("", CleanedString.Reverse());
}
//Вспомогательный метод, удаляющий из строки всевозможные символы пунктуации и пробелы
public static string CleanString(string RawString)
{
Regex cleaner = new Regex(@"[[email protected]#$%^&*<>?/,.]|\s+");
return cleaner.Replace(RawString, "");
}
}
}
Объяснение:



Конечно! Вот пример метода на C#, который определяет, является ли переданная строка палиндромом:
csharpusing System;
public class PalindromeChecker
{
public static bool IsPalindrome(string str)
{
// Приводим строку к нижнему регистру и удаляем все пробелы
str = str.ToLower().Replace(" ", "");
// Проверяем, является ли перевернутая строка равной исходной
for (int i = 0; i < str.Length / 2; i++)
{
if (str[i] != str[str.Length - 1 - i])
{
return false;
}
}
return true;
}
}
public class Program
{
public static void Main(string[] args)
{
// Проверяем пять разных строк на палиндромичность
string[] strings = {
"А роза упала на лапу Азора",
"Аргентина манит негра",
"Palindrome",
"level",
"12321"
};
foreach (string str in strings)
{
bool isPalindrome = PalindromeChecker.IsPalindrome(str);
Console.WriteLine($"Строка \"{str}\" является палиндромом? {isPalindrome}");
}
}
}
В этом примере метод IsPalindrome
принимает строку и возвращает true
, если строка является палиндромом, и false
в противном случае. Метод игнорирует пробелы и регистр символов при проверке.
В методе Main
мы используем этот метод для проверки пяти разных строк на палиндромичность и выводим результаты на экран. Вы можете запустить этот код в среде разработки C# или выполнить его в онлайн компиляторе, чтобы увидеть результаты.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili