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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 23:54   #1
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
Печаль Строки.Проверить, является ли выражение палиндромом

Проверить, является ли выражение, состоящие из строчных букв заданной строки, палиндромом (палиндром – слово или выражение, читающееся слева направо или справа налево одинаково, например, «нажал кабан на баклажан»)

Помогите пожалуйста!!!!вобще не знаю,как писать.А без нее зачет не ставят(((((((((
naty7773 вне форума Ответить с цитированием
Старый 08.06.2012, 00:03   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от naty7773 Посмотреть сообщение
Проверить, является ли выражение, состоящие из строчных букв заданной строки, палиндромом (палиндром – слово или выражение, читающееся слева направо или справа налево одинаково, например, «нажал кабан на баклажан»)

Помогите пожалуйста!!!!вобще не знаю,как писать.А без нее зачет не ставят(((((((((
Для delphi, только для английского!
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  i:integer;
  Str:string;
  F:Boolean;
begin
  F:=True;
  Write('vvedite stroku - ');
  Readln(Str);
  for i:=1 to Length(Str) do
    if Str[i] <> Str[Length(Str)-(i-1)] then
      F:=False;
  if F then
    Writeln('palindrom!')
  else writeln('ne palindrom!');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru

Последний раз редактировалось ByAlex; 08.06.2012 в 00:13.
ByAlex вне форума Ответить с цитированием
Старый 08.06.2012, 09:26   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ByAlex, не очень хороший вариант.
во-первых, не вижу, чтобы у Вас выбрасывались пробелы.
во-вторых, почему "только для английского!" ?!
в-третьих, а зачем цикл по всей длине строки крутить? до середины строки более чем достаточно!
да и в случае, если символы не совпали, цикл дальше крутить бессмысленно - уже можно выходить из цикла
в-четвёртых, str название стандартной процедуры перевода числа в строку, я бы не рекомендовал использовать для названия переменной такой идентификатор...

naty7773, я бы мог привести рабочий пример кода. но, честное слово, на форуме уже были МНОГОКРАТНЕЙШЕ рабочие примеры. поищите по слову палиндром

p.s. удалить все пробелы из строки легко таким кодом:
Код:
while pos(' ',s)>0 do Delete(s, pos(' ',s), 1);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.06.2012, 14:50   #4
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Согласен полностью! Тот код очень старый. Моя вина, что не стал проверять. Вот переделал.
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  i:integer;
  SourceStr:string;
  F:Boolean;
begin
  F:=True;
  Write('vvedite stroku - ');
  Readln(SourceStr);

  while pos(' ',SourceStr)>0 do
    Delete(SourceStr, pos(' ',SourceStr), 1);

  for i:=1 to Length(SourceStr) div 2 do
    if SourceStr[i] <> SourceStr[Length(SourceStr)-(i-1)] then
    begin
      F:=False;
      Break;
    end;

  if F then
    Writeln('palindrom!')
  else writeln('ne palindrom!');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить, является квадратная матрица латинским квадратом? +Юлия GaL+ Паскаль, Turbo Pascal, PascalABC.NET 1 04.11.2011 23:24
Проверить является ли строка палиндромом. rrrl Microsoft Office Excel 2 30.05.2010 18:33
Определить, является ли число палиндромом Princesse JavaScript, Ajax 9 02.10.2009 00:23
Как проверить является ли числом? killer12rus JavaScript, Ajax 1 18.05.2009 05:09
Проверить выражение fosto Общие вопросы Delphi 1 16.12.2008 01:52