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

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

Форум «Всё о Паскале» _ Задачи _ Pascal даны символы S1.....

Автор: Artem1987 10.11.2007 18:15

Даны символы S1, S2... звестно, что символ S1 отличен от пробела и что среди S2, S3 ...
иеется хотя бы один пробел. Рассматриваются S1,... , Sn-символы, предшествующие первому пробелу(n зарание неизвестно). Преобразовать последовательность S1,... , Sn,
уалив из каждой группы идущих подряд цифр, в которой более двух цифр , и которой предшествует точка. Все цифры, начиная с третьей (например, А*В+0.1973-1.1 преобразуется в А*В+0.19-1.1).

Я чет даж условие понять не могу!
cool.gif

Автор: klem4 10.11.2007 18:24

Цитата
и что среди S2, S3 ... иеется хотя бы один пробел



Цитата
например, А*В+0.1973-1.1


и где тут хотябы один пробел ?!

Автор: Lapp 10.11.2007 18:43

Цитата(klem4 @ 10.11.2007 14:24) *

и где тут хотябы один пробел ?!

klem4, просто в примере приведена не вся строка, а только символы S1,..,Sn

Вот, можно так, например, сделать..
var
s:string='abcd.12345aa99999.4567.aa12.34bb ';
i,f:integer;

begin
WriteLn(s);
f:=0;
i:=1;
while s[i]<>' ' do begin
case s[i] of
'.': f:=1;
'0'..'9': case f of
1,2: Inc(f);
3: begin
Delete(s,i,1);
Dec(i)
end
end;
else f:=0
end;
Inc(i)
end;
WriteLn(s);
ReadLn
end.