
Рассмотрим еще один пример под номером 21. Не забывайте, что чтобы понять суть, необходимо как минимум прочитать предыдущий пост — Типизированный файл. Пример №20.
В файле matrix.dat содержится квадратная матрица целых чисел. Требуется первый элемент каждой строки заменить на номер строки. Но сначала давайте разберемся, каким образом матрица хранится в файле. Запись матрицы в файл типа file of integer происходит построчно.

Из приведенного рисунка видно, что номеp компоненты файла, содержащей элемент матрицы aij, равен n*(i-1)+j-1. Так что первый элемент каждой строки можно найти по формуле n*(i-1).
Пример 21
type
IntFile = file of integer;
var
f : IntFile;
a, b : integer;
n,i : word;
BEGIN
Assign(f,'matrix.dat');
Reset(f);
n:=round(sqrt(filesize(f)));
for i:=1 to n do
begin
seek(f,n*(i-1));
write(f,i);
end;
close(f);
END.

Комментарии
Комментариев пока нет - будьте первым.