Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Program delwd;



Uses crt;

const r:set of char= [' ',';',',','<','"','''','>','?','.'];

var s,c:string;

i,ns:byte;

f:boolean;

Begin

Clrscr;

write('s='); readln(s);

i:=1; F:=TRUE;

while i<=length(s) do

Begin

if not(s[i] in r) then

Begin

ns:=i; c:=’’;

while (i<=length(s)) and

not(s[i] in r) do

Begin

if pos(s[i],c)=0 then c:=c+s[i];

Inc(i);

End;

if length(c)<=2 then

Begin

Delete (s,ns,i-ns);

f:=false;

i:=ns-1

End;

End;

i:=i+1

End;

if f then writeln('no')

Else writeln(s);

Readkey

End.

Во вспомогательную строку С выбираются различные буквы во время прохода по слову. Если длина этой строки оказывается меньше или равна 2, слово нужно удалять. После удаления необходимо скорректировать значение переменной основного цикла для выделения очередного слова.

В следующем примере вводится строка символов. Требуется определить, содержит ли данная строка цифры и выдать сообщение об этом. Распечатать имеющиеся в строке цифры.

Program digit;

Uses crt;

Var

cf:set of 0..9;

s:string;

i,k:byte;

Begin

Clrscr;

write('s='); readln(s);

cf:=[ ];

i:=1;

while i<=length(s) do

Begin

k:=ord(s[i])-ord('0');

if k in [0..9] then cf:=cf+[k];

i:=i+1

End;

if cf=[ ] then writeln('no')

Else

Begin

for i:=0 to 9 do

if i in cf then write(i:3);

Writeln

End;

Readkey

End.

Так как цифры имеют последовательные коды, значение самой цифры можно определить, вычитая из кода цифры код цифры 0, что и выполняется в программе. Цифры, обнаруженные в строке, записываются во множество, которое затем выводится на экран.





Дата публикования: 2014-11-04; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...