Считать и вывести матрицу из файла - Pascal ABC
Формулировка задачи:
Помогите! Проблема в том что программа считывает мтрицу. В файле находится матрица ввида
2 3 4 6
6 7 8 2
5 2 9 4
6 9 0 2
но программа выводит ее
2 3 4 6 6 7 8 2 5 2
9 4 6 9 0 2 0 0 0 0
0 0 0 0 0 0 0 0 0 0
. . . . . . . . . . . . .
0 0 0 0 0 0 0 0 0 0
Решение задачи: «Считать и вывести матрицу из файла»
textual
Листинг программы
procedure readfile(var f1:textfile;var a:TMatr;var n:integer); var i,j:integer; begin assign(f1,'input.txt'); reset(f1); read(f1,n); for i:=1 to n do for j:=1 to n do read(f1, a[i,j]); closefile(f1); end;
Объяснение кода листинга программы
- В процедуре
readfileобъявлены три переменные:f1,aиn. Переменнаяf1типаtextfile, переменнаяaтипаTMatr(предполагается, что это матрица), а переменнаяnтипаinteger(предполагается, что это число). - Переменная
f1присваивается значение'input.txt'. Это означает, что файл будет считываться из указанного места. - Функция
reset(f1)используется для сброса файла перед чтением. - Функция
read(f1,n)используется для чтения n строк из файла в переменнуюa. - В цикле
for i:=1 to n doпроисходит чтение каждой строки из файла и присваивание ее соответствующему элементу матрицыa. - После завершения чтения файла вызывается функция
closefile(f1). - Код не содержит вложенных списков.