Param54. Описать процедуру SplitText($$S_0$$, $$K$$, $$S_1$$, $$S_2$$), копирующую первые $$K$$ $$(\ge0)$$ строк существующего текстового файла с именем $$S_0$$ в новый текстовый файл с именем $$S_1$$, $$A$$ остальные строки — в новый текстовый файл с именем $$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 param54; type St=String; var S0,S1,S2:St; K:integer; Procedure SplitText(S0:St; K:integer; S1, S2:St); var F_in,F_out : Text; TempS :String; i:integer; begin Assign(F_in,S0); Reset(F_in); Assign(F_out,S1); ReWrite(F_out); i:=0; While not(eof(F_in)) do begin inc(i); Readln(F_in,TempS); Writeln(F_out,TempS); 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); SplitText(S0,K,S1,S2); end. |
Другие задачи из раздела Param можно посмотреть здесь.
Комментарии: