Param53. Описать процедуру SplitIntFile($$S_0$$, $$K$$, $$S_1$$, $$S_2$$), копирующую первые $$K$$ $$(\ge0)$$ элементов существующего файла целых чисел с именем $$S_0$$ в новый файл целых чисел с именем $$S_1$$, а остальные элементы — в новый файл целых чисел с именем $$S_2$$. Один из созданных файлов может остаться пустым. Применить эту процедуру к файлу с данным именем $$S_0$$, используя указанные значения $$K$$, $$S_1$$ и $$S_2$$.
Решение:
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 |
program Param53; type FileName=String; var S0,S1,S2:FileName; K:integer; Procedure SplitIntFile(S0:FileName;K:integer;S1,S2:FileName); var F_in,F_out: File of Integer; i,TempI:integer; begin Assign(F_in,S0); Reset(F_in); if k>0 then Assign(F_out,S1) else Assign(F_out,S2); ReWrite(F_out); i:=0; While not(eof(F_in)) do begin inc(i); Read(F_in,TempI); Write(F_out,TempI); if i=K then begin Close(F_out); Assign(F_out,S2); ReWrite(F_out); end; end; Close(F_out); Close(F_in); end; begin Write('S0: '); Readln(S0); Write('K: '); Readln(K); Write('S1: '); Readln(S1); Write('S2: '); Readln(S2); SplitIntFile(S0,K,S1,S2); end. |
Другие задачи из раздела Param можно посмотреть здесь.
Комментарии: