Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2016, 15:00   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Mad_Cat, не слишком жёстко?!!


тогда вот рабочий вариант ("чтоб хоть как-то работало") , когда на палиндромность проверяется целиком вся строка, все пробелы в строке (и, соответственно, все отдельные слова в строке) при этом игнорируются.

Код:
var
  S: string;
  i: integer;
  isPalindrom : boolean;
begin
  {ввод исходной строки}
  writeln ('vvedite stroku simvolov: ');
  readln (S);

  {удалить все пробелы из строки}
  while Pos(' ',S)>0 do Delete(S,Pos(' ',S),1);

  {проверить, является ли вся строка целиком одним палиндромом (без учёта выкинутых пробелом) }
  isPalindrom := true;
  for i:=1 to Length(S) div 2 do
     if S[i] <> S[length(S)+1-i] then begin
       isPalindrom := false;
       Break;
     end;

  {вывод результатов}
  if isPalindrom
   then  WriteLn('stroka palindrom')
   else  WriteLn('stroka ne palindrom');

  ReadLn  {ожидание нажатия Enter для закрытия программы}
end.

Цитата:
а там можно будет подкорректировать.
очень сомневаюсь, что у Вас это получится.
Нельзя решить задачу, которую не понимаешь.
Тут нужно или в задаче разбираться или просто забить на решение.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.10.2016, 18:39   #22
annya
Пользователь
 
Регистрация: 05.10.2016
Сообщений: 19
По умолчанию

А в задании написано, что слова разделены одним пробелом, и si либо является пробелом, либо принадлежит множеству {A,B,...,Z,a,b,...,z}. Вы это учли?
annya вне форума Ответить с цитированием
Старый 07.10.2016, 22:13   #23
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от annya Посмотреть сообщение
А в задании написано, что слова разделены одним пробелом, и si либо является пробелом, либо принадлежит множеству {A,B,...,Z,a,b,...,z}. Вы это учли?
нет, я это не учитывал.
мне абсолютно непонятно задание.
Каким образом слова-палиндромы связаны с понятием строки-палиндрома,
что такое строка-палиндром, при чём здесь разбиение на слова.
Вам понятно, как это надо учитывать?
Тогда объясните.

а пока это сделано в рамках:
Цитата:
чтоб хоть как-то работало
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.10.2016, 22:51   #24
annya
Пользователь
 
Регистрация: 05.10.2016
Сообщений: 19
По умолчанию

Строка - это набор символов, которые образовывают слово или пробел, ну что же непонятного то? s1 = sn это набор символов. Но, как я понимаю, это может быть не обязательно предложение со смысловым наполнением, это набор различных символов, для компа все равно это предложение со смыслом или нет, программа должна проверить последовательность символов являются ли они палиндромом, т.е. символы должны читаться влево-вправо одинаково. пробел это отдельный символ, и регистр тоже учитывается.
annya вне форума Ответить с цитированием
Старый 07.10.2016, 23:10   #25
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

annya, да приведите Вы, наконец-то, примеры: несколько строк и вкажите какая палиндром, а какая нет, что-бы Люди сузили круг поисков/советов.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 08.10.2016, 08:47   #26
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Строка - это набор символов, которые образовывают слово или пробел, ну что же непонятного то?
почему слово в единственном числе? в строке может быть только одно слово или несколько?
Очевидно, что несколько.

Цитата:
s1 = sn это набор символов.
точно. s1 s2 ... sn - это и есть исходная строка. тут никаких вопросов нет.

Цитата:
для компа все равно это предложение со смыслом или нет,
где Вы в задании про смысл слов/строки прочитали? Наоборот, чтобы не возникало вопросов, является ли zzzzz словом, в задании дано чёткая формулировка, что такое слово в данном случае. Здесь всё чётко и понятно: "Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами"

Цитата:
программа должна проверить последовательность символов являются ли они палиндромом
угу. как при этом нужно учитывать, что в строке есть слова?
Никак?
Тогда берите код, который я дал выше, он как раз и проверяет, является ли последовательность символов (целая строка) палиндромом.
Пробелы при этом не учитываются.
Хотите, чтобы пробелы учитывались? Тогда просто выкиньте из программы строчку кода, где из строки удаляются пробелы (там комментарий есть). Тогда пробелы тоже будут влиять.

К слову, а Вы уверены, что Вы задание записали/поняли правильно?
Откуда Вы его взяли (из книги, с сайта, преподаватель дал)?
Можно посмотреть скриношот, где видно ваше задание?


Цитата:
Сообщение от Aleksandr H.
а приведите Вы, наконец-то, примеры: несколько строк и вкажите какая палиндром, а какая нет
Да, это было очень полезно! Вы бы разобрались в том, какую задачу пытаетесь решить и мы, наконец-то, возможно, поняли, чем Вам можно помочь!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей vital_orsha Помощь студентам 0 08.03.2016 12:00
Помогите с задачей на C# Dunpeal Общие вопросы .NET 0 21.11.2009 14:12
Помогите с задачей Noxil Паскаль, Turbo Pascal, PascalABC.NET 2 30.10.2008 19:20