Переписать код

Помогите переписать код с free pascal в pascalABC.NET

program project1;
 
const
  n = 10;
 
type
  Tmas = ^TTmas;{одна строка матрицы}
  TTmas = array[1..1] of integer;
  Tmatr = ^TTmatr;{матрица-массив указателей на строки}
  TTmatr = array[1..1] of Tmas;
var
  a: Tmatr;
  max, min, i, j: integer;
  x: integer;{буфер для обмена при транспонировании}
begin
  randomize;
  getmem(a, sizeof(TTmas) * n * 2);{выделяем память под указатели на строки}
  {поскольку сортируем в двух циклах, нужно в 2 раза больше памяти}
  for i := 1 to n do
    getmem(a^[i], sizeof(integer) * n);{для каждой строки память для хранения данных}
  writeln('Исходная матрица:');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a^[i]^[j] := random(n);
      Write(a^[i]^[j]: 4);
      if max > a^[i]^[j] then
        max := a^[i]^[j];
      if min < a^[i]^[j] then
        min := a^[i]^[j];
    end;
    writeln;
  end;
  max := a^[1]^[1];
  min := a^[1]^[1];
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      if max < a^[i]^[j] then
        max := a^[i]^[j];
      if min > a^[i]^[j] then
        min := a^[i]^[j];
    end;
  end;
  writeln('Max: ', max);
  writeln('Min: ', min);
  for i := 1 to n do
    freemem(a^[i], sizeof(integer) * n);
  {освобождаем память в обратном порядке, сначала удалим строки}
  freemem(a, sizeof(TTmas) * n * 2); {потом указатели на них}
  Write('Press Enter...');
  readln;
end. 

Вставлять код надо так:

```
код
```

И дайте сразу оригинальное задание, по которому писался код.

1 лайк

Это не программа, а рак мозга. Но можно попробовать расшифровать, хотя @Sun_Serega совершенно прав: проще взять исходное задание и написать сначала код в несколько строчек.

Вдогонку: программа абсолютно нерабочая, содержит множество ошибок. Больше всего похожа на кусками надерганные строки кода.

Держите:

program project1;
 
const
  n = 10;
 
type
  Tmas = array of integer;
  Tmatr = array of Tmas;
var
  a: Tmatr;
  max, min, i, j: integer;
  x: integer;{буфер для обмена при транспонировании}
begin
  randomize;
  a := new Tmas[n + 1];{выделяем память под указатели на строки}
  {поскольку сортируем в двух циклах, нужно в 2 раза больше памяти}
  for i := 1 to n do
    a[i] := new integer[n + 1];{для каждой строки память для хранения данных}
  writeln('Исходная матрица:');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i][j] := random(n);
      Write(a[i][j]: 4);
      if max > a[i][j] then
        max := a[i][j];
      if min < a[i][j] then
        min := a[i][j];
    end;
    writeln;
  end;
  max := a[1][1];
  min := a[1][1];
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      if max < a[i][j] then
        max := a[i][j];
      if min > a[i][j] then
        min := a[i][j];
    end;
  end;
  writeln('Max: ', max);
  writeln('Min: ', min);
end.

Теперь народ повалит со своими заданиями!

1 лайк

Ага, вот с такими %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA

Процесс пошёл! В задачах нужно сразу писать: “Уважаемый Стан Станыч, решите задачу на языке паскаль”.

Вот так неожиданно, через ЕГЭ приходит мирская слава!

1 лайк