от пробела и что среди S2, S3,... имеется хотя-бы один пробел.
Рассматриваются S1,... SN - символы, предшествующие первому про-
белу (N-заранее известно). Преобразовать последовательность
S1,... SN : удалив из каждой группы цифр, которой не предшес-
твует точка, все начальные нули (кроме последнего, если за ним
идет точка ).
ТО есть,дана последовательность ,но нам надо преоброзовать(удалить нули)только ту ее часть,что идет до 1 проблела.
Совбтвенно у меня 2 плохо работающие программы
1- редакритует всю последовательность. даже то,что идет после 1 нуля...
Код: Выделить всё
var s,s1,s2:string;
i:byte;
begin
clrscr;
repeat
writeln('Введите строку, не начинающуюся пробелом, но содержащую хотя бы 1 пробел.');
readln(s);
if pos(' ',s) in [0,1] then writeln('Строка введена неверно! Повторите ввод.');
until not(pos(' ',s) in [0,1]);
s1:=copy(s,1,pos(' ',s)-1);
s2:='';
i:=1;
while i<=length(s) do
if(s[i]='0')and (s[i+1] <> '.') then i:=i+1
else
begin
s2:=s2+s[i];
i:=i+1;
end;
write(s2);
readln
end.
Код: Выделить всё
var n,s,s1,s2,q,g,h,o:string;
i:byte;
begin
repeat
writeln('Ââåäèòå ñòðîêó, íå íà÷èíàþùóþñÿ ïðîáåëîì, íî ñîäåðæàùóþ õîòÿ áû 1 ïðîáåë.');
readln(n);
h:=copy(n,1,pos(' ',n)-()) ;
if pos(' ',n) in [0,1] then writeln('Ñòðîêà ââåäåíà íåâåðíî! Ïîâòîðèòå ââîä.');
until not(pos(' ',n) in [0,1]);
s1:=copy(n,1,pos(' ',n)-1);
s2:='';
i:=1;
q:=s1;
while i<=length(q) do
if(q[i]='0')and (q[i+1] <> '.')
then i:=i+1
else
begin
s2:=s2+q[i];
i:=i+1;
end;
g:=s2;
writeLn('первая часть измененой последовательности: ',g);
writeLn(h)
readln
end.