Показать сообщение отдельно
Старый 16.12.2013, 09:37   #21 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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:=',';. Впрочем, тут "вольному воля", можно и так...

Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070