Text41. Даны три файла целых чисел одинакового размера. Создать текстовый файл, содержащий эти числа, расположенные в три столбца шириной по $$20$$ символов (в каждом столбце содержатся числа из соответствующего исходного файла). В начало и конец каждой строки текстового файла добавить разделитель «|» (код 124). Числа выравниваются по левому краю столбца.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
program Text41; var F1_in,F2_in,F3_in,F_out: Text; line,S,Name:string; i:integer; begin Write('File 1 name in: '); Readln(Name); Assign(F1_in,Name); Write('File 2 name in: '); Readln(Name); Assign(F2_in,Name); Write('File 3 name in: '); Readln(Name); Assign(F3_in,Name); Write('File name out: '); Readln(Name); Assign(F_out,Name); Reset(F1_in); Reset(F2_in); Reset(F3_in); Rewrite(F_out); While (not eof(F1_in) or not eof(F2_in) or not eof(F3_in)) do begin line:='|'; if (not eof(F1_in)) then begin read(F1_in,i); Str(i,S); end else S:=''; for i:=1 to 20-Length(S) do line:=line+' '; line:=line+S; if (not eof(F2_in)) then begin read(F2_in,i); Str(i,S); end else S:=''; for i:=1 to 20-Length(S) do line:=line+' '; line:=line+S; if (not eof(F3_in)) then begin read(F3_in,i); Str(i,S); end else S:=''; for i:=1 to 20-Length(S) do line:=line+' '; line:=line+S; line:=line+'|'; Writeln(F_out,line); end; Close(F1_in); Close(F2_in); Close(F3_in); Close(F_out); end. |
Другие задачи из раздела Text можно посмотреть здесь.
var
n1, n2, n3, s: string;
f1, f2, f3: file of integer;
i, j, c: integer;
begin
readln(n1);
assign(f1, n1);
readln(n2);
assign(f2, n2);
readln(n3);
assign(f3, n3);
reset(f1);
reset(f2);
reset(f3);
for i := 1 to filesize(f1) do
begin
write(‘|’);
read(f1, c);
str(c, s);
write(s);
for j := length(s) + 1 to 20 do write(‘ ‘);
read(f2, c);
str(c, s);
write(s);
for j := length(s) to 20 do write(‘ ‘);
read(f3, c);
str(c, s);
write(s);
for j := length(s) to 19 do write(‘ ‘);
write(‘|’);
writeln;
end;
end.