Цитата:
Сообщение от 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. Первая буква может входить в слово и более одного раза (напр. "агава"), такое слово тоже выводится.