Axel1981 Posted October 2, 2008 Report Share Posted October 2, 2008 Чтение массива из файла выглядит так. А как будет выглядеть запись массива в файл? 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 More sharing options...
Тролль Posted October 2, 2008 Report Share Posted October 2, 2008 (edited) 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 October 2, 2008 by Тролль Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now