Адаптировать код из Turbo Pascal - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста, код написанный на Turbo Pascal не работает в pascal abc:
Вот задание:
Листинг программы
- PROGRAM TranspMatrix;
- const
- FILE_NAME = 'Datafile.dat';
- type
- TArr: array of integer;
- var
- n: integer;
- M: array of TArr;
- f: Text;
- i, j: integer;
- Begin
- // Открыть файл
- Assign(f, FILE_NAME)
- {$I-}
- Reset(f)
- {$I+}
- if IOResult <> 0 then
- WriteLn('ERROR: файл ' + DATA_FILE + ' не найден!')
- exit
- end if
- // Чтение матрицы
- ReadLn(f, n)
- // Выделение памяти
- SetLength(M, n);
- for i:=0 to n - 1 do SetLength(M[i], n);
- // Чтение матрицы
- for i:=0 to n - 1 do
- for j:=0 to n - 1 do
- Read(f, M[i,j));
- // Перезапись файла
- Rewrite(f);
- // Запись транспонированой матрицы
- WriteLn(f, n)
- for i:=0 to n - 1 do begin
- for j:=0 to n - 1 do
- Read(f, M[j,i));
- WriteLn(f,'');
- end;
- // Очистка памяти
- for i:=0 to n - 1 do SetLength(M[i], 0);
- SetLength(M, 0);
- // Закрыть файл
- CloseFile(f)
- End.
Спойлер
Решение задачи: «Адаптировать код из Turbo Pascal»
textual
Листинг программы
- var f,g:text;
- n: integer;
- a: array[,]of integer;
- i,j: integer;
- begin
- // Открыть файл
- assign(f, 'строки.txt');
- reset(f);
- assign(g, 'столбцы.txt');
- rewrite(g);
- // Чтение матриц, и запись их по столбцам в новый файл
- while not seekeof(f) do
- begin
- read(f,n);
- // Выделение памяти
- setlength(a,n,n);
- // Чтение матрицы
- for i:=0 to n-1 do
- for j:=0 to n-1 do
- read(f,a[i,j]);
- // Запись транспонированой матрицы
- write(g,n);
- for j:=0 to n-1 do
- for i:=0 to n-1 do
- write(g,' ',a[i,j]);
- writeLn(g,'');
- end;
- close(f);
- close(g);
- write('Матрицы переписаны в файл столбцы.txt')
- End.
Объяснение кода листинга программы
- Сначала открывается файл
строки.txt
для чтения и файлстолбцы.txt
для записи. - Затем происходит чтение матрицы из файла
строки.txt
и запись её по столбцам в файлстолбцы.txt
. - В цикле, пока не достигнут конец файла, считывается количество строк матрицы.
- Далее выделяется память под матрицу и происходит чтение матрицы из файла.
- Затем выполняется запись транспонированной матрицы в файл
столбцы.txt
. - В конце закрываются файлы
строки.txt
истолбцы.txt
. - Выводится сообщение об успешном выполнении программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д