Записать строки файла f в файл g, поменяв порядок их следования на противоположный

При этом, если строка короче 50 символов, удлинить её, вставляя равномерно между всеми словами пробелы, пока длина не достигнет 50 символов.

code: #pascal
program PascalGuru;
uses crt;
 
var f,g:text;
    str:string;
{--------------------------------------------}
procedure insert_probel(var s:string);
label 1;
var i:integer;
begin
1:
i:=1;
repeat
    if (s[i]=' ') and (s[i+1]<>' ') then
       begin
        insert(' ',s,i+1);
        inc(i);
       end;
    inc(i);
 
           if length(s)>50 then exit;
until i>50;
{---}
if length(s)<50 then goto 1;
end;
{--------------------------------------------}
function exchange(s:string):string;
var i:integer; x:string;
begin
x:='';
For i:=1 to length(s) do x:=s[i]+x;
exchange:=x;
end;
{--------------------------------------------}
begin
clrscr;
assign(f,'f.txt'); reset(f);
assign(g,'g.txt'); rewrite(g);
 
while not eof(f) do
      begin
      readln(f,str);
      if length(str)<50 then insert_probel(str)
                        else
                        str:=exchange(str);
      writeln(g,str);
      end;
 
writeln('Fail "g.txt" uspeshno zapisan...');
 
close(f);close(g);
readln;
end.      
Поделиться:

Похожие статьи: