Уважаемые программисты помогите пожалуйста решить задачу:
Дана строка символов, состоящая из прописных и строчных латинских букв и пробелов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из строки слова, состоящие только из прописных букв. Вывести на печать полученную строку и количество удаленных слов.Добавлено (13.05.12, 21:57)
---------------------------------------------
Проверьте пожалуйста правильно ли я написал решение этой задачи (программа удаляет прописные буквы в словах даже, если слова состоят из приписных и строчных букв, а если слова с прописными и строчными буквами чередуются, то вообще не выполняется):
program zadanie4;
var
st:string;
i,k:integer;
begin
write (‘Введите строку’);
readln(st);
for i:=1 to length(st) do begin
if (st[i]=’ ‘) and (st[i+1]=’ ‘) then delete(st,i,1);
while (ord(st[i])>=65) and (ord(st[i])<=90)
or (ord(st[i])>=192) and (ord(st[i])<=223) do begin delete(st,i,1);
k:=k+1;
end;
end;
writeln(st);
writeln(k);
readln;
end.
var
st:string;
i,k:integer;
begin
write (‘Введите строку’);
readln(st);
for i:=1 to length(st) do begin
if (st[i]=’ ‘) and (st[i+1]=’ ‘) then delete(st,i,1);
while (ord(st[i])>=65) and (ord(st[i])<=90)
or (ord(st[i])>=192) and (ord(st[i])<=223) do begin delete(st,i,1);
k:=k+1;
end;
end;
writeln(st);
writeln(k);
readln;
end.