Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Строки (http://www.tehnari.ru/f43/t50630/)

Региша 18.04.2011 22:12

Строки
 
Помогите пожалуйста решить задачу на паскале (если можно с пояснениями).
Дана строка. Указать те слова, которые содержат хотя бы одну букву с.

Vladimir_S 19.04.2011 10:46

Цитата:

Сообщение от Региша (Сообщение 506388)
Помогите пожалуйста решить задачу на паскале (если можно с пояснениями).
Дана строка. Указать те слова, которые содержат хотя бы одну букву с.

Пожалуйста:
Код:

VAR
 S:String;
 i,j,Nw,i1,i2:Byte;
 W:Array[1..128] of String;
 CH:Char;
 b:Boolean;

BEGIN
 { Ввод строки }
 WriteLn('Enter the string:');
 ReadLn(S);
 { Ввод искомого символа }
 Write('Enter the symbol to search for: ');
 ReadLn(CH);
 { Разбиение строки на отдельные слова. Формирование
  массива слов W размером Nw
}
 i:=0;
 Nw:=0;
 Repeat
  Repeat
  Inc(i);
  Until S[i]<>' ';
  i1:=i;
  While (S[i]<>' ') and (i<Length(S)) do
  Inc(i);
  If i=Length(S) then i2:=i else i2:=i-1;
  Inc(Nw);
  W[Nw]:=Copy(S,i1,i2-i1+1);
 Until i=Length(S);

 { Решение основной задачи. Вывод на экран слов,
  содержащих хотя бы один искомый символ
}
 For i:=1 to Nw do
  begin
  b:=false;
  j:=0;
  Repeat
    Inc(j);
    If W[i][j]=CH then b:=true;
  Until b or (j=Length(W[i]));
  If b then Write(W[i]+' ');
  end;

 WriteLn;

 ReadLn;
END.



Часовой пояс GMT +4, время: 18:28.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.