File17. Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла (серией называется набор последовательно расположенных одинаковых элементов, а длиной серии — количество этих элементов). Например, для исходного файла с элементами $$1, 5, 5, 5, 4, 4, 5$$ содержимое результирующего файла должно быть следующим: $$1, 3, 2, 1$$.
Решение:
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 |
program File17; var S:String; F_in,F_out: File of Integer; El,i,temp:integer; begin Write('File: '); Readln(S); Assign(F_in,S); Reset(F_in); Write('File out: '); Readln(S); Assign(F_out,S); ReWrite(F_out); Read(F_in,temp); El:=temp; i:=1; while (not eof(F_in)) do begin Read(F_in,temp); if El=temp then inc(i) else begin i:=1; El:=temp; Write(F_out,temp); end; end; Close(F_in); end. |
Другие задачи из раздела File можно посмотреть здесь.
Комментарии: