Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / Разное / Готовые решённые задачи в формате ТХТ / Строки / Задача фотка (изменить строку по правилу)
.txt Задача с фотки (изменить строку по правилу: пробел должен быть после . , ; а не перед ними)
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.
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.
Соседние файлы в папке Строки