Тема: Строки
Показать сообщение отдельно
Старый 16.12.2010, 22:36   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от sergikшщ Посмотреть сообщение
прошу прощения, пожайлуста решите на паскале сессия поджимает, заранее огромное спасибо
Да пожалуйста - нет проблем:
Код:
uses crt;
VAR
 S:string;
 SS:ARRAY[1..255] of String;
 cnt,i,j,N,Ns:byte;
 b:boolean;
BEGIN
 Clrscr;
 WriteLn('Enter the string:');
 ReadLn(s);
 Ns:=0;
 Repeat
  cnt:=pos(' ',S);
  if cnt>0 then
   begin
    Inc(Ns);
    SS[Ns]:=copy(s,1,cnt);
    S:=copy(S,cnt+1,length(S));
   end;
 Until cnt=0;
 Inc(Ns);
 SS[Ns]:=S;
 N:=0;
 For i:=1 to Ns-1 do
  If SS[i]<>S[Ns] then
   begin
    b:=false;
    for j:=2 to Length(SS[i]) do
     if SS[i][j]=SS[i][1] then b:=true;
    If b then
     begin
      WriteLn(SS[i]);
      Inc(N);
     end;
   end;
 If N=0 then WriteLn('No such words!');
 ReadLn;
end.
Здесь предполагается, что строка состоит из слов, разделенных ОДНИМ пробелом. Кроме того, есть непонятки в условии задачи. Я исходил из того, что:
1. Выводу подлежат слова, не повторяющие последнее И (а не ИЛИ!) имеющие в своем составе букву, повторяющую первую.
2. Первая буква может входить в слово и более одного раза (напр. "агава"), такое слово тоже выводится.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070