Преобразовать исходную строку, заменив каждую из групп стоящих рядом двух или более точек многоточием (т.е. тремя точками).
10-11 класс
|
uses crt;
var s:string;
i,j:byte;
begin
clrscr;
writeln('Введите строку, содержащую точки, как по 1, так и группами:');
readln(s);
if (length(s)>1)and(copy(s,1,2)='..') then{если в начале строки более 1 точки}
begin
{или строка вообще из точек}
while (s[1]='.')and(length(s)>0) do delete(s,1,1);
insert('...',s,1);
end;
if(length(s)>2)and(s<>'...') then{если осталось более 2 сиволов, начнем
проверять с конца}
begin
i:=length(s)-2;
while i>=1 do
if (s[i]<>'.')and(copy(s,i+1,2)='..') then
begin
while (s[i+1]='.')and(i+1<=length(s)) do delete(s,i+1,1);
insert('...',s,i+1);
i:=i-1;
end
else i:=i-1;
end;
write(s);
readln
end.
Другие вопросы из категории
1.Текстовой файл. Ввод из файла.
2.События и процедура обработки событий.
Читайте также
var str : string;
q:integer;
k:string;
begin
writeln ('введите строку');
readln (str);k:='..';
q:=pos('.', str );
while q<>0 do
begin
insert (str,k, q );
q:=pos('.', str );
end;
writeln (str);
end.
содержала путь в формате ОС Unix, то есть заменить каждый символ "\" на символ "/".Путь DOS:
соответственно равна 600, 180 и 220 га. С учетом наличия семян кукурузой, пшеницей, ячменем и просом следует соответственно засеять 290, 180, 110 и 420 га.
Урожайность каждой из культур для каждого из участков различна и задается матрицей:
40 45 50
30 28 22
18 22 14
24 18 26
Определить сколько гектаров каждой культуры на каждом из участков следует засеять так, чтобы общий сбор зерна был максимальным.
написать программу, которая отвечает на вопрос " существуют ли два последовательных числа, не превосходящих N, сумма цифр каждого из которых делится на k?"
Входные данные: Два числа N(1<=N<=10000000000),k (1<=k<=100)
Выходные данные: Программа выводит два таких числа, если они существуют,"NO"- если нет.