Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

01 семестр / Разное / Готовые решённые задачи в формате ТХТ / Строки / Задача фотка (изменить строку по правилу)

.txt
Источник:
Скачиваний:
267
Добавлен:
04.03.2014
Размер:
1.31 Кб
Скачать
Задача с фотки (изменить строку по правилу: пробел должен быть после . , ; а не перед ними)

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;
procedure OSHIBKI(var s:string);
var p,k,i:integer;
begin

p:=pos(' ',s);
while p>0 do begin
delete(s,p,1);
p:=pos(' ',s);
end;
if s[1]=' ' then delete(s,1,1);
if s[length(s)]=' ' then delete(s,length(s),1);

k:=pos(' ,',s);
while k>0 do begin
delete(s,k,1);
k:=pos(' ,',s);
end;

k:=pos(' ;',s);
while k>0 do begin
delete(s,k,1);
k:=pos(' ;',s);
end;

k:=pos(' .',s);
while k>0 do begin
delete(s,k,1);
k:=pos(' .',s);
end;

for i:=length(s) downto 1 do if s[i]=',' then insert(' ',s,i+1);
for i:=length(s) downto 1 do if s[i]='.' then insert(' ',s,i+1);
for i:=length(s) downto 1 do if s[i]=';' then insert(' ',s,i+1);

p:=pos(' ',s);
while p>0 do begin
delete(s,p,1);
p:=pos(' ',s);
end;

end;

var n,i:integer;
st:array[1..10] of string;
begin
writeln('Vvedite kolichestvo strok');
readln(n);
for i:=1 to n do begin
writeln('Vvedite stroku');
readln(st[i]);
end;
for i:=1 to n do OSHIBKI(st[i]);
writeln('Izmenennie stroki');
for i:=1 to n do writeln(st[i]);
readln;
end.