Курсовая работа: Работа с двумерными числовыми массивами
14 Write(outFile, arr[rowN, colN]: 12);
15 end;
16 Writeln(outFile);
17 end;
18 end;
Процедура Read 2 DArray читает файл по строкам, разбирая каждую строку на подстрока пробелами с помощью процедуры ExtractStrings:
1 { читает матрицу arr из текстового файла inFile. Файл должен быть
2 предварительно открыт}
3 procedure Read2DArray(var arr: TMatrix; const inFile: TextFile);
4 var
5 rowN, colN: integer;
6 colCount: integer; //максимальное количество чисел в строке (число столбцов матрицы)
7 lineStr: string; //текущая строка
8 strNumbers: TStringList;//текущая строка, разделённая на подстроки пробелами
9 begin
10 rowN:= 0;
11 colCount:= 0;
12 strNumbers:= TStringList.Create;
13 arr:= nil;
14 while not Eof(inFile) do
15 begin
16 Readln(inFile, lineStr);
17 strNumbers.Clear;
18 ExtractStrings([' '], [], PChar(lineStr), strNumbers); //разделим пробелами на подстроки
19 if colCount < strNumbers.Count then colCount:= strNumbers.Count;
20 SetLength(arr, rowN+1, colCount);//выделим память под новую строку
21 for colN:= 0 to strNumbers.Count-1 do //для каждого числа в строке
22 arr[rowN, colN]:= StrToIntDef(strNumbers[colN], 0);
23 Inc(rowN);