Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ В чём секрет?

Автор: jackal 1.04.2003 16:05

Посмотрите пожайлуста!
Данная прога выводит на экран только глухие согласные, которые есть во 2 слове текста!
Вопрос после кода:

Код
  var s,l:string;
  i,w:byte;
 m:set of char;
   begin
    writeln('введите строку');
    readln(s);
       w:=pos(' ',s);
       l:=copy(s,w,pos(' ',s));
       m:=['ц', 'к', 'ш', 'х', 'ф', 'п'];
   for i:=1 to length(l) do
   if l[i] in m then
   writeln(l[i]);
   end.
 Вопрос: Как сделать так чтобы во всей строчке если введется 2 пробела прога делала бы из них 1 . Например: после 1 слова введено 2 пробела из за этого не выведутся все согласные глухие.
Или может можно придумать условие?

Автор: ozzy 3.04.2003 14:49

Удаляем пробелы:

Код
function DeleteBlanks(var a:string):string;
var
 i:integer;
begin
 for i:=1 to length(a)-1 do
   if (a[i]=' ') and (a[i+1]=' ') then
     Delete(a,i,1);
 DeleteBlanks:=a;
end;

Автор: trminator 11.04.2003 23:05

Удаляем кратные пробелы (два-три-много подряд)

function DelSpaces(var s:string);
begin
 while pos(<ДваПробела>,s)>0 do
    delete(s,pos(<ДваПробела>,s),1)
end;