Определение палиндрома на C#

Создадим программу на Windows Forms  которая поможет нам определить, является ли палиндромом введённый текст, слово или число.

Создадим простенький дизайн:

Определение палиндрома на C# - vscode.ru

Здесь у нас TextBox, Label и Button. Вердикт о принадлежности или непринадлежности данных к палиндрому мы выведен в MessageBox’е. 

Дважды щёлкаем на кнопку “Проверить текст” и переносимся в область кода, где будем творить.

Для начала мы считываем строку, которую введёт пользователь и записываем её в переменную text. Затем мы создаём массив символов с типом char, чтобы по одному символу считать нашу строку. Благодаря этому мы в последствии перевернём введённый текст по символу в обратный порядок. Конвертируем текст из строкового формата в символьный массив благодаря .ToCharArray.

Теперь мы переворачиваем символы введённых данных в обратном порядке благодаря следующему методу:

Иначе говоря, если пользователь ввёл в TextBox строку “12345”, то данный метод позволяет по символам перевернуть его до “54321”.

Пока что наша переменная записана в виде массива символов. Но сравнивать мы будем не символы, а строки. Поэтому мы объявим строку с инициализацией символами из нашего массива.

Теперь нам осталось лишь сравнить изначально введённую строку текста со строкой текста, которую мы перевернули. Если они равны, то введённые данные – палиндром.

Вот и всё, наша программа готова!

Определение палиндрома на C# - vscode.ru

Скачать исходник

 

Определение палиндрома на C#
5 (100%) 3 votes

Поделиться в соц. сетях:

5 комментария(ев) к статье “Определение палиндрома на C#

    1. Юлия Автор статьи

      finaltext – это переменная типа string (строковый тип, данные в котором представлены именно в виде строки а не, например, посимвольно).
      Когда пользователь вводит какое-либо слово, оно записывается в строковую переменную text. Но строковой формат нельзя перевернуть задом наперед (то есть, например “12345” перевернуть в “54321”). Поэтому приходится конвертировать переменную text (и то, что в ней записано) в массив символов char (у нас это – переменная obrtext). В массиве char уже можно по одному символу перевернуть введенное пользователем слово, что мы и делаем.
      Затем нам надо сравнить перевернутое слово с словом, введенным пользователем – переменной text. Однако нельзя сравнивать между собой переменные с разными типами данных(string и char). Поэтому мы создаем строковую переменную finaltext и как бы конвертируем символы из переменной obrtext обратно в строковой формат, записывая полученный результат в finaltext, чтобы потом сравнить его с содержимым переменной text.

  1. qpMAXqp

    Спасибо за урок! Подскажите пожалуйста, а что нужно добавить, что бы проверять только буквы, без пробела? Например фраза “милашка как шалим” будет определятся как не палиндром из-за пробелов.
    И как знаки препинания игнорировать при проверке?
    =)

    1. admin

      После того, как взяли текст из textBox’а:
      string text = textBox1.Text;
      удалите из этой строки пробелы так:
      text = text.Replace(” “, “”);
      то есть пробелы заменятся на пустую строку. Аналогично можете убрать знаки препинания.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">