Показать сообщение отдельно
  #4  
Старый 22.12.2009, 17:42
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Держи)
Код:
{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  S:String;
  b:byte;
  sb, nsb, rsb: set of char;
  zBegin, zEnd:Byte;
  c:char;

begin
  Writeln('Enter string ');
  Readln(S);
  sb:=['b','d','g','j','n','m','r','v','z','w']; //символы которые ищем
  nsb:=[];  //символы которые в первом и последнем слове
  rsb:=[];  //символы которые будем выводить на экран
  //сначала пробежимся по первому и последнему слову, и соберем nsb
  zBegin:=Pos(' ', S);
  for b:=1 to zBegin do
    if S[b] in sb then
      nsb:=nsb+[S[b]];
  b:=length(s);
  while (b > 1) and (S[b]<>' ') do
    begin
    if S[b] in sb then
      nsb:=nsb+[S[b]];
    Dec(b);
    end;
  zEnd:=(b+1);
  //теперь пробежимся по остальным словам и соберем rsb
  for b:=zBegin to zEnd do
    if (S[b] in sb) then
      rsb:=rsb+[S[b]];
  //вычтем из rsb символы nsb
  rsb:=rsb-nsb;
  //и выведем результат
  for c:=chr(0) to chr (255) do
    if c in rsb then
      write(c,' ');
  readln;
end.
Ответить с цитированием