0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 29
1

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

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

Author24 — интернет-сервис помощи студентам
Составить программу для определения: является ли введенное предложение палиндромом.
Пример палиндрома: А роза упала на лапу Азора ЗАРАНЕЕ СПАСИБО)))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2013, 17:49
Ответы с готовыми решениями:

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

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

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

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

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

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

По привычке, кажется, что программы можно только на С писать.
0
Супер-модератор
6197 / 2945 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
28.10.2013, 20:33 9
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 10
Цитата Сообщение от ildwine Посмотреть сообщение
Pascal
1
2
if s1 = s2 then writeln('является палиндромом')
* * else writeln('является палиндромом');
ildwine, пропустили "не".
1
Супер-модератор
6197 / 2945 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
28.10.2013, 20:52 11
Цитата Сообщение от ВАСИЛЕВС Посмотреть сообщение
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 / 1095 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
28.10.2013, 21:31 12
Цитата Сообщение от ildwine Посмотреть сообщение
И привести символы к верхнему регистру функцией upcase.
А в Паскале есть?Если что,вам сюда Конвертация строк
0
Супер-модератор
6197 / 2945 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
28.10.2013, 21:36 13
Цитата Сообщение от Новичок Посмотреть сообщение
А в Паскале есть?Если что,вам сюда Конвертация строк
К чему это было написано? Вопрос исчерпан...

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

Программы надо писать не так, чтобы их можно было понять, а так, чтобы нельзя было не понять.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
29.10.2013, 13:10 18
Новичок, думаю предыдущим ораторам было бы полезнее решить эту задачу самостоятельно. Или ты сомневаешься, что тут есть другое решение? Определение того является ли строка палиндромом сводится к последовательному сравнению символов: первого с последним, второго с предпоследним и т.д. Единственное, что(поскольку, в данном случае, строка является предложением), здесь необходимо пропускать(игнорировать) разделители. Вот и всё.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
29.10.2013, 13:25 19
Цитата Сообщение от rangerx Посмотреть сообщение
что(поскольку
Как всегда, "дьявол в деталях" :-)
0
1682 / 1095 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
29.10.2013, 15:53 20
Цитата Сообщение от rangerx Посмотреть сообщение
здесь необходимо пропускать(игнорировать) разделители. Вот и всё.
А как же регистр букв,а?
0
29.10.2013, 15:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2013, 15:53
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru