Адаптировать код из Turbo Pascal - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, код написанный на Turbo Pascal не работает в pascal abc:
Листинг программы
  1. PROGRAM TranspMatrix;
  2. const
  3. FILE_NAME = 'Datafile.dat';
  4. type
  5. TArr: array of integer;
  6. var
  7. n: integer;
  8. M: array of TArr;
  9. f: Text;
  10. i, j: integer;
  11. Begin
  12. // Открыть файл
  13. Assign(f, FILE_NAME)
  14. {$I-}
  15. Reset(f)
  16. {$I+}
  17. if IOResult <> 0 then
  18. WriteLn('ERROR: файл ' + DATA_FILE + ' не найден!')
  19. exit
  20. end if
  21. // Чтение матрицы
  22. ReadLn(f, n)
  23. // Выделение памяти
  24. SetLength(M, n);
  25. for i:=0 to n - 1 do SetLength(M[i], n);
  26. // Чтение матрицы
  27. for i:=0 to n - 1 do
  28. for j:=0 to n - 1 do
  29. Read(f, M[i,j));
  30. // Перезапись файла
  31. Rewrite(f);
  32. // Запись транспонированой матрицы
  33. WriteLn(f, n)
  34. for i:=0 to n - 1 do begin
  35. for j:=0 to n - 1 do
  36. Read(f, M[j,i));
  37. WriteLn(f,'');
  38. end;
  39. // Очистка памяти
  40. for i:=0 to n - 1 do SetLength(M[i], 0);
  41. SetLength(M, 0);
  42. // Закрыть файл
  43. CloseFile(f)
  44. End.
Вот задание:
Спойлер

Решение задачи: «Адаптировать код из Turbo Pascal»

textual
Листинг программы
  1. var f,g:text;
  2.     n: integer;
  3.     a: array[,]of integer;
  4.     i,j: integer;
  5. begin
  6. // Открыть файл
  7. assign(f, 'строки.txt');
  8. reset(f);
  9. assign(g, 'столбцы.txt');
  10. rewrite(g);
  11. //  Чтение матриц, и запись их по столбцам в новый файл
  12. while not seekeof(f) do
  13.  begin
  14.   read(f,n);
  15.   // Выделение памяти
  16.   setlength(a,n,n);
  17.   // Чтение матрицы
  18.   for i:=0 to n-1 do
  19.   for j:=0 to n-1 do
  20.   read(f,a[i,j]);
  21.   // Запись транспонированой матрицы
  22.   write(g,n);
  23.   for j:=0 to n-1 do
  24.   for i:=0 to n-1 do
  25.   write(g,' ',a[i,j]);
  26.   writeLn(g,'');
  27.   end;
  28. close(f);
  29. close(g);
  30. write('Матрицы переписаны в файл столбцы.txt')
  31. End.

Объяснение кода листинга программы

  1. Сначала открывается файл строки.txt для чтения и файл столбцы.txt для записи.
  2. Затем происходит чтение матрицы из файла строки.txt и запись её по столбцам в файл столбцы.txt.
  3. В цикле, пока не достигнут конец файла, считывается количество строк матрицы.
  4. Далее выделяется память под матрицу и происходит чтение матрицы из файла.
  5. Затем выполняется запись транспонированной матрицы в файл столбцы.txt.
  6. В конце закрываются файлы строки.txt и столбцы.txt.
  7. Выводится сообщение об успешном выполнении программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы