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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2011, 13:50   #1
X-REY
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 10
По умолчанию последовательность латинского алфавита (z, yz, xyz и т. д.)

Прошу вашей помощи по решению задачи:

Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом—точка. Напечатать, те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству:

совпадает с конечным отрезком латинского алфавита (z, yz, xyz и т. д.);
X-REY вне форума Ответить с цитированием
Старый 07.11.2011, 04:58   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Проверять слово на совпадение с концом алфавита можно примерно так:
Код:
const
  LatAlph: string= 'abcdefghijklmnopqrstuvwxyz';
.....
  if Pos(w,LatAlph)= 27-Length(w) then <условие выполнено>
Тут проверяемое слово - это переменная w (типа string).
Остальное не заслуживает особого обсуждения..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 01.12.2012, 18:39   #3
konsul777
Новичок
Джуниор
 
Регистрация: 18.11.2012
Сообщений: 1
По умолчанию

что-то у меня не получается таким образом сделать
Цитата:
Const st=('abcdefghijklmnopqrstuvwxyz');
Var s,s1,sk:string;
i,j:byte;
b:boolean;
Begin
write('введите строку: ');readln(s);
if s[Length(s)]='.' then Delete(s,Length(s),1);
i:=Length(s);sk:='';
While s[i]<>' ' do
dec(i);
sk:=Copy(s,i+1,Length(s));
Delete(s,i,Length(s));
s:=s+' ';
While Pos(' ',s)<>0 do
Begin
s1:=Copy(s,1,Pos(' ',s)-1);
Delete(s,1,Pos(' ',s));
if s1<>sk then
begin
b:=true;
if pos(s1,st)=length(st)-length(s1)then b:=true;
end;
if b then writeln(s1);
end;
end.
konsul777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать 2 множества,состоящих из заглавных букв латинского алфавита. Определить элементы,принадлежащ Aktor1992 Паскаль, Turbo Pascal, PascalABC.NET 0 12.04.2011 22:13
Буквы алфавита Golovastik Общие вопросы C/C++ 27 24.07.2009 22:29
все строчные буквы латинского алфавита заменить прописными. Саня7278 Общие вопросы C/C++ 5 20.05.2009 23:52
Переставить все буквы латинского алфавита в начало строки в порядке следования. zaq2000 Паскаль, Turbo Pascal, PascalABC.NET 17 18.12.2008 23:42
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29