Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 29

Составить программу для определения, является ли введенное предложение палиндромом

28.10.2013, 17:49. Показов 10022. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу для определения: является ли введенное предложение палиндромом.
Пример палиндрома: А роза упала на лапу Азора ЗАРАНЕЕ СПАСИБО)))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2013, 17:49
Ответы с готовыми решениями:

Составить программу определения является ли введенное число простым
Составить программу определения является ли введенное число простым с использованием рекурсивной функции. полное решение пж

Составить программу определения является ли четным или нечетным введенное число
Составить программу определения является ли четным или нечетным введенное число.

Составить программу определения является ли введенное число простым с использованием рекурсивной функции
Составить программу определения является ли введенное число простым с использованием рекурсивной функции.

36
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
28.10.2013, 18:06
федор михалыч, а предложение вводиться заглавными буквами или маленькими или и теми и теми буквами?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
28.10.2013, 19:30
1. Выбросить все пробелы и знаки препинания
2. Реверсировать строку
3. Если прямая и реверсированная строки совпадают (stricmp) --> палиндром
1
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
28.10.2013, 19:37
Цитата Сообщение от gazlan Посмотреть сообщение
1. Выбросить все пробелы и знаки препинания
И привести символы к верхнему регистру функцией upcase.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
28.10.2013, 19:46
Цитата Сообщение от ildwine Посмотреть сообщение
привести символы к верхнему регистру
Не требуется: stricmp
0
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 29
28.10.2013, 19:47  [ТС]
маленькими
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
28.10.2013, 19:55
Цитата Сообщение от gazlan Посмотреть сообщение
Не требуется: stricmp
Нет такой функции в паскале
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
28.10.2013, 20:07
Цитата Сообщение от ildwine Посмотреть сообщение
Нет такой функции в паскале
Oops!

Не поглядел, что Pascal :-)

По привычке, кажется, что программы можно только на С писать.
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
28.10.2013, 20:33
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  s1, s2 : string;
  i, j : byte;  
begin
  writeln('строка:');
  readln(s1);
  s2 := '';  
  for i := 1 to length(s1) do
    if s1[i] in ['А'..'Я', 'а'..'я'] then
    s2 := concat(s2, copy(s1,i,1));
  for j := 1 to length(s2) do
    s2[j] := upcase(s2[j]);
  s1 := ''; 
  for j := length(s2) downto 1 do
    s1:= concat(s1, copy(s2,j,1));  
  if s1 = s2 then writeln('является палиндромом')
    else writeln('является палиндромом');     
   writeln(s1);{удалите после проверки}
   writeln(s2);{удалите после проверки}
  readln
end.
Добавлено через 8 минут
С комментариями:
Pascal
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
28
var
  s1, s2 : string;
  i, j : byte;  
begin
  {ввод строки допускаются знаки 
  препинания пробелы и разный регистр букв}
  writeln('строка:');
  readln(s1);
  {формируем строку s2 включая в нее
  только буквы русского алфавита}
  s2 := '';  
  for i := 1 to length(s1) do
    if s1[i] in ['А'..'Я', 'а'..'я'] then
    s2 := concat(s2, copy(s1,i,1));
  {Выставляем в строке s2 регистр букв в "прописные"}
  for j := 1 to length(s2) do
    s2[j] := upcase(s2[j]);
  {Формируем инвертированную строку s1}
  s1 := '';
  for j := length(s2) downto 1 do
    s1:= concat(s1, copy(s2,j,1));  
  {Если прямая s2 и инвертированная s1 строки равны, то палиндром}
  if s1 = s2 then writeln('является палиндромом')
    else writeln('является палиндромом');     
   writeln(s1);{удалите после проверки}
   writeln(s2);{удалите после проверки}
  readln
end.
0
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
28.10.2013, 20:46
Цитата Сообщение от ildwine Посмотреть сообщение
Pascal
1
2
if s1 = s2 then writeln('является палиндромом')
* * else writeln('является палиндромом');
ildwine, пропустили "не".
1
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
28.10.2013, 20:52
Цитата Сообщение от ВАСИЛЕВС Посмотреть сообщение
ildwine, пропустили "не".
Ну да, но это мелочи.

Добавлено через 1 минуту
Спасибо

Добавлено через 1 минуту
федор михалыч, окончательный вариант:
Pascal
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
28
var
  s1, s2 : string;
  i, j : byte;  
begin
  {ввод строки допускаются знаки 
  препинания пробелы и разный регистр букв}
  writeln('строка:');
  readln(s1);
  {формируем строку s2 включая в нее
  только буквы русского алфавита}
  s2 := '';  
  for i := 1 to length(s1) do
    if s1[i] in ['А'..'Я', 'а'..'я'] then
    s2 := concat(s2, copy(s1,i,1));
  {Выставляем в строке s2 регистр букв в "прописные"}
  for j := 1 to length(s2) do
    s2[j] := upcase(s2[j]);
  {Формируем инвертированную строку s1}
  s1 := '';
  for j := length(s2) downto 1 do
    s1:= concat(s1, copy(s2,j,1));  
  {Если прямая s2 и инвертированная s1 строки равны, то палиндром}
  if s1 = s2 then writeln('является палиндромом')
    else writeln('НЕ является палиндромом');     
   writeln(s1);{удалите после проверки}
   writeln(s2);{удалите после проверки}
  readln
end.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
28.10.2013, 21:31
Цитата Сообщение от ildwine Посмотреть сообщение
И привести символы к верхнему регистру функцией upcase.
А в Паскале есть?Если что,вам сюда Конвертация строк
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
28.10.2013, 21:36
Цитата Сообщение от Новичок Посмотреть сообщение
А в Паскале есть?Если что,вам сюда Конвертация строк
К чему это было написано? Вопрос исчерпан...

Добавлено через 43 секунды
upcase - в паскале есть!
1
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.10.2013, 00:06
Цитата Сообщение от ildwine Посмотреть сообщение
upcase - в паскале есть!
Ну раз есть хорошо конечно.Но мало ли,вдруг препод прицепится.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
29.10.2013, 02:34
Эта задача решается одним циклом и парой условий без всякого копирования и инвертирования...
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.10.2013, 12:31
rangerx, ну покажи свой вариант.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
29.10.2013, 12:48
Цитата Сообщение от rangerx Посмотреть сообщение
одним циклом и парой условий
С невразумительной эмуляцией инвертирования и скачками по знакам препинания :-)

Программы надо писать не так, чтобы их можно было понять, а так, чтобы нельзя было не понять.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
29.10.2013, 13:10
Новичок, думаю предыдущим ораторам было бы полезнее решить эту задачу самостоятельно. Или ты сомневаешься, что тут есть другое решение? Определение того является ли строка палиндромом сводится к последовательному сравнению символов: первого с последним, второго с предпоследним и т.д. Единственное, что(поскольку, в данном случае, строка является предложением), здесь необходимо пропускать(игнорировать) разделители. Вот и всё.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
29.10.2013, 13:25
Цитата Сообщение от rangerx Посмотреть сообщение
что(поскольку
Как всегда, "дьявол в деталях" :-)
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
29.10.2013, 15:53
Цитата Сообщение от rangerx Посмотреть сообщение
здесь необходимо пропускать(игнорировать) разделители. Вот и всё.
А как же регистр букв,а?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2013, 15:53
Помогаю со студенческими работами здесь

Написать программу, проверяющую, является ли введённое слово палиндромом.
Помогите,пожалуйста по строкам!!! 5.Написать программу,проверяющую,является ли введённое слово палиндромом.

Составить блок-схему по коду определения, является ли число палиндромом
Помогите составить бок схему Задача: Дано натуральное число n. Является ли это число палиндромом (перевертышем) с учетом четырех цифр,...

Напишите программу, которая определяет, является ли введённое слово (без пробелов) палиндромом
Напишите программу, которая определяет, является ли введённое слово (без пробелов) палиндромом, то есть верно ли, что оно читается...

Составить программу, выясняющую, является ли данное число палиндромом
Помогите, пожалуйста, решить задачу в С++. Составить программу, выясняющую, является ли данное число палиндромом, то есть таким,...

Составить программу, проверяющую, является ли данное слово палиндромом
1)Введено слово.Составить программу, проверяющую, является ли данное слово палиндромом(читается ли оно слева на право и справа на лево...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru