Цитата:
Сообщение от Aksinia
Можно ли как то преобразовать программу, чтобы удалялись не только восклицательные знаки, но еще и запятые?
|
А почему нет? Вставьте в функцию еще одну строку с Pos, Delete, аналогичную той, что для "!", но для запятых.
P.S. А всё-таки в чём была проблема с запуском программы? Уж поделитесь, не побьём. Любопытно...
P.P.S. Немного модераторской воркотни. Абсолютно ни к чему ради этих запятых новую тему создавать. Давайте уж здесь.Тем более, что в листинге - ошибки: в функции во втором Pos вместо "T" стоит "s", что приводит к сбою.
Короче говоря, так:
Код:
program Main2;
var
S:string;
a,b:char;
f1,f2:text;
function NewStr(S:string;q,p:char):string;
var T:string;
begin
T:=S;
while Pos(q+q,T) > 0 do delete(T, Pos(q+q,T), 1);
while Pos(p+p,T) > 0 do delete(T, Pos(p+p,T), 1);
NewStr:=T;
end;
begin
assign(f1, 'D:\Input.txt');
reset(f1);
assign(f2, 'D:\Output.txt');
rewrite(f2);
a:=chr(33);
b:=chr(44);
readln(f1,S);
writeln(f2,NewStr(S,a,b));
close(f1);
close(f2);
end.
P.P.P.S. А вот хотел бы я знать, на кой пёс Вы используете задание удаляемых символов через коды? Чтобы "красивше" было? Почему бы не просто a:='!'; b:=',';. Впрочем, тут "вольному воля", можно и так...