Цитата:
Сообщение от sunbrigt
Помогите пожалуйста!
Дана строка символов Известно, что символ отличен от пробела и что среди имеется хотя бы один пробел. Рассматриваются - символы, предшествующие первому пробелу (n заранее не известно). Преобразовать последовательность: удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, аb+0.1973-1.1 преобразуется в аb+0.19-1.1).
|
Вот:
Код:
VAR
S:STRING;
Ch:CHAR;
i,j,n:INTEGER;
b:ARRAY[1..255] of BOOLEAN;
BEGIN
WriteLn('Enter the string, containing at least one space:');
ReadLn(S);
For i:=1 to 255 do
b[i]:=true;
i:=1;
Repeat
If S[i]<>' ' then
begin
If (S[i]='.') and
(Ord(S[i+1])>47) and (Ord(S[i+1])<58) and
(Ord(S[i+2])>47) and (Ord(S[i+2])<58) then
begin
j:=3;
While (Ord(S[i+j])>47) and (Ord(S[i+j])<58) do
begin
b[i+j]:=false;
Inc(j);
end;
end;
Inc(i);
end;
Until S[i]=' ';
n:=i-1;
For i:=1 to n do
If b[i] then Write(S[i]);
WriteLn;
ReadLn;
END.