С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/254: Рейтинг темы: голосов - 254, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 01.07.2010
Сообщений: 15

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

01.07.2010, 11:34. Показов 49361. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пример взят из книжки В.Фаронова Программирование на языке C#.
Программа элементарная, должна определять, является ли слово палиндромом
(взят самый простейший случай без учета регистра слов, пробелов и пр.).
Однако программа определяет палиндром далеко не всегда верно.
В чем причина - понять не могу. Перекопал всю программу...
Не судите строго новичка.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
 
 
 
    class Palindr
     {
        public static bool Palindromtest (string s)
        {
               for (int i = 1, j = s.Length - 1; i < j; i++, j--)
 
                    if (s[i] != s[j])
                        return false;
                       return true;
 
        }
     
    static void Main()
        {
        string s;
            Console.WriteLine("Анализ палиндромов\n\nВведите строку:");
          s = Console.ReadLine();
           if (Palindromtest(s))
       Console.WriteLine("Эта строка - палиндром");
       else Console.WriteLine("Эта строка - не палиндром");
    Console.ReadLine();
        }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2010, 11:34
Ответы с готовыми решениями:

Определение палиндрома
Народ, помогите прогу составить. Является ли введенное число с клавиатуры палиндромом. В языке Си

Принцип работы рекурсии в алгоритме проверки палиндрома
Имеется не большой код на проверку слова(является ли оно палиндромом).Немного не понимаю,как программа запоминает,что был false в конце.Мне...

Написать консольное приложение для нахождения палиндрома
Ребята, помогите с прогой на c# Есть целое n&gt; 2. Составить программу для нахождения всех простых чисел с диапазона , которые являются...

10
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
01.07.2010, 11:44
Что-то мне подсказывает, что здесь надо 0
int i = 1

Добавлено через 1 минуту
И постарайтесь с отступами как-нибудь разобраться, что-то вы с ними не дружите.
1
0 / 0 / 0
Регистрация: 01.07.2010
Сообщений: 15
01.07.2010, 11:53  [ТС]
Спасибо!

Кстати, в книжке именно i=1.

Да еще перепутан вывод сообщений в случае нахождения палиндрома.
Написано так:

if (Palindromtest(s))
Console.WriteLine("Эта строка - не палиндром");

Короче, никому верить нельзя
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
01.07.2010, 11:55
Да, такие они - пейсатели. В следующий раз советуйтесь с кем-нибудь знающим перед покупкой книги.

Добавлено через 1 минуту
Фаронов - он же по паскалю кучу книг написал - отвыкнуть от индексации с 1 не может.
0
0 / 0 / 0
Регистрация: 01.07.2010
Сообщений: 15
01.07.2010, 12:03  [ТС]
Может, я ошибаюсь, но мне кажется, что лучше Шилдта для начинающих ничего нет. Или я не прав?
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
01.07.2010, 12:20
Я C# не знаю, ничего о книжках по нему сказать не могу . Но полный справочник по C++ Шилдта - отличная книга.
0
 Аватар для kuroiryuu
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
01.07.2010, 16:34
вот аналогичный метод описанному выше, но без двойных циклов:
C#
1
2
3
4
5
6
7
8
public static bool Palindrom(string s)
{
    for (int i = 0; i < s.Length / 2; i++)
 
        if (s[i] != s[s.Length - i - 1])
            return false;
    return true;
}
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
01.07.2010, 16:37
А где вы двойной цикл нашли?
0
 Аватар для kuroiryuu
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
02.07.2010, 10:33
не правильно выразился... цикл с использованием двух переменных
зачем использовать то, что не нужно?
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
02.07.2010, 10:36
Ну да в принципе, я тоже всегда как вы пишу. Хотя, быть может начинающему полезно увидеть нестандартный цикл for, отличающийся от каноничного for(int i = 0; i < n; i++).
0
 Аватар для Женя Т.
115 / 11 / 1
Регистрация: 02.03.2011
Сообщений: 186
27.06.2011, 02:18
А как можно поправить эту прогу чтобы и несмотря на пробелы, знаки прининания (кома и другие) и величину букв она тоже работала ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2011, 02:18
Помогаю со студенческими работами здесь

Определение палиндрома
Здравствуйте. Нужно определить является ли словосочетание в строке палиндромом на JavaScript. Накидала на скорую руку код. Но что-то видно...

Определение строки-палиндрома
Помогите пожалуйста написать программу:) На вход программе подается предложение на английском языке, заканчивающееся точкой. Требуется...

Определение строки-палиндрома
open F, &quot;&gt;2.txt&quot;; $/=\0;$_=&lt;&gt;; for(split/\s|\,|\.|\;|\:|\'|\&quot;|\!|\?/,$_){print F$_,' ' if($_ eq reverse$_)} в общем, я считываю...

Рекурсивное определение палиндрома
Напишите рекурсивную программу, которая определяет, является ли данное предложение палиндромным или не просто рассматривает...

Определение палиндрома, используя стек
Добрый вечер. Забиваю Строку в стек, выкидывая пробельные символы и знаки пунктуации, а дальше не знаю что делать. Подскажите на словах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru