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 можно посмотреть здесь.
Комментарии: