Напечатать заданный текст, удалив из него лишние пробелы, т. е. из нескольких подряд идущих пробелов оставить только один — Pascal(Паскаль)

uses crt;
var a:array[1..1000] of char;
    n,i,j:integer;
    c:char;
begin
writeln('Введите текст, содержащий пробелы, окончание ввода Enter:');
n:=0;
repeat
c:=readkey;
if c<>#13 then
 begin
  n:=n+1;
  a[n]:=c;
  write(a[n]);
 end
else writeln;
until c=#13;
writeln;
i:=2;
while i<n do
if (a[i]=' ')and(a[i-1]=' ') then
  while (a[i]=' ')and(i<n) do
   begin
    for j:=i to n-1 do
    a[j]:=a[j+1];
    n:=n-1;
   end
else i:=i+1;
if(a[n]=' ')and(a[n-1]=' ') then n:=n-1;
writeln('Удаление лишних пробелов:');
for i:=1 to n do
write(a[i]);
readln
end.

Leave a Comment

− 1 = 2