В файле иероглифы- PascalABC.NET
Формулировка задачи:
Открываю файлы а там иероглифы. Помогите, что я не так сделал?
const n = 9; var t, x, i: integer; f, g: file of integer; begin randomize; assign(f, 'E:\f.txt'); rewrite(f); writeln('файл1: '); for i := 1 to n do begin x := random(10); write(x, ' '); write(f, x); end; writeln; reset(f); assign(g, 'E:\g.txt'); rewrite(g); writeln('Новый файл: '); for i := 0 to filesize(f) div 2 do begin seek(f, n - i - 1); read(f, x); seek(f, i); read(f, t); write(g, ' ', x + t); write(x + t, ' '); end; close(f); close(g); end.
Решение задачи: «В файле иероглифы- PascalABC.NET»
textual
Листинг программы
const n = 9; var t, x, i: integer; f, g: file of integer; begin randomize; assign(f, 'f.dat'); rewrite(f); writeln('файл1: '); for i := 1 to n do begin x := random(10); write(x, ' '); write(f, x); end; writeln; reset(f); assign(g, 'g.dat'); rewrite(g); writeln('Новый файл: '); for i := 0 to filesize(f) div 2 do begin seek(f, n - i - 1); read(f, x); seek(f, i); read(f, t); write(g, x + t); write(x + t, ' '); end; close(f); close(g); end.
Объяснение кода листинга программы
- Объявляются три переменные: t, x, i (целочисленные) и две файловые переменные: f, g.
- Случайно перезаписываемый файл f.dat инициализируется с помощью функции assign.
- Файл f.dat открыт для записи с помощью функции rewrite.
- Выводится сообщение о создании первого файла и осуществляется цикл от 1 до n (где n = 9).
- Внутри цикла выбирается случайное число от 0 до 9 и записывается в файл f.dat.
- Затем выбирается следующее случайное число от 0 до 9 и записывается в файл g.dat (который инициализируется так же как и f.dat).
- Выводится сообщение о создании второго файла и осуществляется цикл от 0 до n/2 (где n = 9).
- Внутри цикла сдвигается позиция чтения файла f.dat на n-i-1.
- Затем из файла f.dat считывается число t и сдвигается позиция чтения файла g.dat на i.
- В файл g.dat записывается сумма чисел t и x.
- Затем записывается пробел и сумма чисел t и x.
- Файлы f.dat и g.dat закрываются.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д