@autumn_parker
Для чтения двумерного массива из файла *.txt в Delphi можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
var input: TextFile; arr: array of array of Integer; i, j, n, m: Integer; begin AssignFile(input, 'input.txt'); // указываем имя файла Reset(input); // открываем файл для чтения // читаем размеры массива ReadLn(input, n); ReadLn(input, m); // создаем массив нужного размера SetLength(arr, n, m); // читаем элементы массива for i := 0 to n - 1 do for j := 0 to m - 1 do Read(input, arr[i, j]); CloseFile(input); // закрываем файл end; |
В этом коде мы открываем файл для чтения с помощью AssignFile
и Reset
, читаем размеры массива и создаем массив нужного размера с помощью SetLength
. Затем мы читаем элементы массива из файла с помощью двух циклов for
и Read
, после чего закрываем файл с помощью CloseFile
.
Пример файла input.txt
с содержимым:
1 2 3 4 5 |
3 4 1 2 3 4 5 6 7 8 9 10 11 12 |
Результат выполнения кода будет таким, что в массив arr
будут сохранены числа из файла.
@autumn_parker
Очень похожий код, но приведу и его:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
var input: TextFile; arr: array of array of Integer; i, j, n, m: Integer; begin AssignFile(input, 'input.txt'); // указываем имя файла Reset(input); // открываем файл для чтения // читаем размеры массива ReadLn(input, n); // создаем массив нужного размера SetLength(arr, n); // читаем элементы массива for i := 0 to n - 1 do begin ReadLn(input, m); SetLength(arr[i], m); // задаем размер массива внутреннего массива for j := 0 to m - 1 do Read(input, arr[i, j]); end; CloseFile(input); // закрываем файл end; |
В данном коде предполагается, что каждая строка в файле представляет собой внутренний массив двумерного массива, а первое число в каждой строке - это количество элементов внутреннего массива. Например, файл input.txt
может выглядеть так:
1 2 3 4 5 6 |
3 1 2 3 4 5 6 7 8 9 2 4 10 20 30 40 50 60 70 80 |
В результате выполнения кода, элементы из файла будут сохранены в двумерный массив arr
.