Jump to content

Запись массива в файл


Recommended Posts

Чтение массива из файла выглядит так. А как будет выглядеть запись массива в файл?

 program Mass;var f: Text; {файловая переменная} matr: array [1..10, 1..10] of Integer; m,		 {кол-во строк} n: Integer; {кол-во столбцов} i, j: Integer; fn: string; {имя файла}begin writeln ('Введите имя файла, в котором хранится матрица:'); readln (fn); Assign (f, fn); {ставим в соответствие файловой переменной файл} Reset (f); {открываем файл} Readln (f, m, n); for i := 1 to m do beginfor j := 1 to n do Read (f, matr [i, j]);Readln (f); end; Close (f); {закрываем файл} for i := 1 to m do beginfor j := 1 to n do Write (matr [i, j], ' ');Writeln; end; Readln;end.
Link to comment
Share on other sites

Axel1981:

Ну, сначала нужен массив... Потом пишем в файл как на экран, только в операторах записи указываем первым параметром имя файла.

Вот слегка переработанный твой пример, сначала заполняю массив размером m,n (для простоты в элементы пишу их же индексы, скажем, в matr[2,3] записываю 23. Потом пишем массив на диск в файл. Потом читаем обратно в массив (для наглядности другой, можно было в тот же самый) числа из файла и печатаем их.

program Mass;varf: Text; matr,r: array [1..10, 1..10] of Integer;i,j,m,n: Integer; fn: string;beginwrite ('Name of the file? '); readln(fn);write ('m? '); readln(m);write ('n? '); readln(n);Assign (f, fn);for i:= 1 to 9 do for j:=1 to 9 do matr[i,j]:=i*10+j;ReWrite (f);for i := 1 to m do for j := 1 to n do WriteLn(f,matr[i,j]);Close (f);Reset (f);for i := 1 to m do for j := 1 to n do ReadLn(f,r[i,j]);Close (f);for i := 1 to m do for j := 1 to n do WriteLn('matrix[',i:2,',',j:2,'] =',r[i,j]:3);Readlnend.

P.S. Кстати, вместо Read (f, matr [i, j]); Readln (f) гораздо удобнее писать просто ReadLn (f, matr [i, j]);

Edited by Тролль
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...