Вот что у меня получилось. Но эта прога удаляет и те 0, которые стоят и между цифр, а мне нужно,чтобы они оставались. Что посоветуете? Результат должен быть таким: 0.25 = 0.25; 055=55; 0055=55; 505 = 505; 500=500. У меня всё работает кроме 505=505, у меня 505=55. Кто силён, подскажите!
Код
Program Stroka;
uses crt;
type charset=set of char;
const Digits:charset=['1','2','3','4','5','6','7','8','9'];
nul:charset=['0'];
var str: string[100];
i:integer;
begin
clrscr;
writeln('Введите строку');
read(str);
for i:=1 to length(str) do
while ((str[i] in Nul) and (str[i+1] in digits)) or ((str[i] in Nul) and (str[i+1] in Nul)) do
begin
delete(STR,i,1);
end;
writeln(str);
readkey;
end.
uses crt;
type charset=set of char;
const Digits:charset=['1','2','3','4','5','6','7','8','9'];
nul:charset=['0'];
var str: string[100];
i:integer;
begin
clrscr;
writeln('Введите строку');
read(str);
for i:=1 to length(str) do
while ((str[i] in Nul) and (str[i+1] in digits)) or ((str[i] in Nul) and (str[i+1] in Nul)) do
begin
delete(STR,i,1);
end;
writeln(str);
readkey;
end.
тут есть несколько оишбок, т.е. не ошибок, а лишних действий, но это не суть важно, они возникли в ходе написания проги и экспериментов, поэтому они мне были нужны, ну а сейчас я пока их так и оставил - это операторные скобки после while ... do и nul:charset=['0']; вместо того чтобы просто написать '0'