Считывание таблицы чисел из файла в двумерный массив - Pascal
Формулировка задачи:
Написать программу, считывающую таблицу чисел из файла в двумерный массив.
Решение задачи: «Считывание таблицы чисел из файла в двумерный массив»
textual
Листинг программы
var f:text;
a:array[1..20,1..20] of integer;
b,m,n,i,j:integer;
s:string;
begin
assign(f,'input.txt');
reset(f);
m:=1;
n:=0;
while not eoln(f)do //читаем перыую строку, узнаем число столбцов
begin
read(f,b);
n:=n+1;
end;
readln(f,s);
while not eof(f) do//читаем и считаем строки (1 уже была)
begin
readln(f,s);
m:=m+1;
end;
close(f);//закроем файл
writeln('Размер матрицы ',m,'x',n);
reset(f); //откроем
for i:=1 to m do //прочитаем матрицу
begin
for j:=1 to n do
begin
read(f,a[i,j]);
write(a[i,j]:4);
end;
writeln;
end;
close(f);
end.
Объяснение кода листинга программы
- Переменная
fинициализируется как текстовый файл с именем'input.txt'. - Переменная
aинициализируется как двумерный массив целых чисел размером от 1 до 20 в каждой из двух осей. - Переменные
b,m,n,iиjинициализируются как целочисленные значения. - Строка
sинициализируется как пустая строка. - В блоке
whileпроисходит чтение первой строки из файла. Число строк считывается в переменнуюn. - В блоке
whileпроисходит считывание оставшихся строк из файла. Числа считываются в переменнуюm. - Файл закрывается вызовом
close(f). - Выводится размер матрицы
mxn. - Файл снова открывается вызовом
reset(f). - В цикле
forсчитывается каждая строка матрицы. - В вложенном цикле
forпроисходит считывание каждого элемента строки матрицы. - Выводится значение каждого элемента матрицы.
- Выводится символ новой строки.
- Файл закрывается вызовом
close(f).