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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2017, 20:06   #1
megas666
 
Регистрация: 08.01.2017
Сообщений: 4
По умолчанию Для заданных трех строк S1, S2 и S3 определить, какая из них является палиндромом

Для заданных трех строк S1, S2 и S3 определить, какая из них является палиндромом. Назовем строку палиндромом, если его запись читается одинаково с начала и с конца (как, например, ‘казак’, ‘алла’, ‘fffjjjfff’). Указание: определить булевскую функцию f(s) для проверки, является ли строка s палиндромом. Результатом должен быть ответ «да» или «нет».


(Помогите решить в паскале)
megas666 вне форума Ответить с цитированием
Старый 08.01.2017, 20:53   #2
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Вот вам функция с самым простым алгоритмом
Код:
function f(s:string):boolean;
var i:integer;
    x:string;
begin
  x:='';
  for i:=1 to length(s) do
  x:=s[i]+x;
  f:=x=s;
end;
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 08.01.2017, 22:21   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Проще надо ....
Код:
function f(s:string):boolean;
var i,l:integer;
begin
  f:=True;
  l := length(s) ;
  for i:=1 to (l div 2) do
      if s[i] <> s[l-i+1] then
	begin
		f := False ; Break
	end ;
end;
digitalis вне форума Ответить с цитированием
Старый 09.01.2017, 10:00   #4
megas666
 
Регистрация: 08.01.2017
Сообщений: 4
По умолчанию

Добрый день! это и есть все решение?
megas666 вне форума Ответить с цитированием
Старый 09.01.2017, 10:24   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Нет. Ето помощь, о которой Вы просили, а не решение
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.01.2017, 10:25   #6
megas666
 
Регистрация: 08.01.2017
Сообщений: 4
По умолчанию

А можно решение, я в этом совсем не разбираюсь..
megas666 вне форума Ответить с цитированием
Старый 09.01.2017, 11:45   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Прикрутить ввод-вывод к готовой подпрограмме - проблема ? Тогда - в мукомольный техникум. Если уж "совсем не разбираюсь.."

Последний раз редактировалось digitalis; 10.01.2017 в 10:34.
digitalis вне форума Ответить с цитированием
Старый 11.01.2017, 16:03   #8
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
function f(s:string):boolean;
var i:integer;
    x:string;
begin
  x:='';
  for i:=1 to length(s) do
     x:=s[i]+x;
  Result:=x=s;
  Write(s,' - ');
  If Result then
     Writeln('palindrom') else
     Writeln('NO palindrom');
end;

var s1,s2,s3:string;
begin
   Write('s1 = '); Readln(s1);
   Write('s2 = '); Readln(s2);
   Write('s3 = '); Readln(s3);
   f(s1);
   f(s2);
   f(s3);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 11.01.2017, 16:26   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
function f(s:string):boolean;
var i,k:integer;
begin
  k:=length(s);
  Result:=True;
  for i:=1 to k div 2 do begin
    Result:=s[i]=s[k-i+1];
    if not Result then Break;
  end;
  Write(s,' - ');
  If Result then 
     Writeln('palindrom') else
     Writeln('NO palindrom');
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можете перевести код с Pascal на C++ (Даны три слова. Выяснить, является ли хоть одно из них палиндромом) vital_orsha Помощь студентам 2 03.11.2015 16:46
Написать программу, позволяющую определить является ли натуральное число палиндромом. zadiraazat7 Паскаль, Turbo Pascal, PascalABC.NET 4 27.05.2014 22:57
Определить является ли линейно зависимы 3 заданных вектора целых чисел длиной n ArtInt Общие вопросы Delphi 5 29.05.2010 06:44
Определить, является ли число палиндромом Princesse JavaScript, Ajax 9 02.10.2009 00:23