File68. Дан строковый файл, содержащий даты в формате, описанном в задании File67. Создать два файла целых чисел, первый из которых содержит значения месяцев, а второй — значения лет для дат из исходного строкового файла (в обратном порядке).
Решение:
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 |
program File68; type st = String[100]; var Name,S: St; F_in,F_out: file of St; F_out_month,F_out_year: file of integer; temp,error,len,i,i2:integer; begin Write('File In: '); Readln(Name); Assign(F_in,Name); Assign(F_out,'~'+Name); Rewrite(F_out); Write('File Out month: '); Readln(Name); Assign(F_out_month,Name); Rewrite(F_out_month); Write('File Out year: '); Readln(Name); Assign(F_out_year,Name); Rewrite(F_out_year); Reset(F_in); len:=0; while (not eof(F_in)) do begin Read(F_in,S); inc(len); end; Close(F_in); for i:=len downto 1 do begin Reset(F_in); for i2:=1 to i do Read(F_in,S); Write(F_out,S); Close(F_in); end; close(F_out); Reset(F_out); while (not eof(F_out)) do begin Read(F_out,S); Val(S[4]+S[5],temp,error); Write(F_out_month,temp); Val(S[7]+S[8]+S[9]+S[10],temp,error); Write(F_out_year,temp); end; Close(F_out_month); Close(F_out_year); Close(F_out); Erase(F_out); end. |
Другие задачи из раздела File можно посмотреть здесь.
Комментарии: