Построить новую матрицу такого же размера по правилу - PascalABC.NET

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

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

Вот полностью программа и по факту должна работать,но где-то здесь if a[i1,j1] < min then min := a[i1,j1]; b[i,j] := min; выдаёт ошибку выход за границу массива,помогите найти ошибку

Решение задачи: «Построить новую матрицу такого же размера по правилу»

textual
Листинг программы
const
 m = 4;
 n = 5;
type
 Matrix = array [0..m+1, 0..n+1] of integer;
var
 a, b : Matrix;
 i, j, i1, j1 : integer;
 min : integer;
begin
 randomize;
 //создадим периметр из маесимальных чисел
 for i:=0 to n+1 do
  begin
   a[0,i]:=maxint;
   a[m+1,i]:=maxint;
  end;
for i:=0 to m+1 do
  begin
   a[i,0]:=maxint;
   a[i,n+1]:=maxint;
  end;
 //заполним середину
 writeln('Матрица а:');
 for i:=1 to m do
  begin
   for j:=1 to n do
    begin
     a[i,j] := random(20);
     write(a[i,j]:4);
    end;
   writeln;
 end;
 {Построение матрицы b - минимумы среди соседей}
 for i:=1 to m do
 for j:=1 to n do
  begin
   min:=a[i-1,j-1];
   for i1:=i-1 to i+1 do
   for j1:=j-1 to j+1 do
   if ((i1<>i) or (j1<>j))and(a[i1,j1]<min) then  min:=a[i1,j1];
   b[i,j]:=min;
  end;
 {Вывод матрицы b на экран}
 writeln('Матрица b:');
 for i:=1 to m do
  begin
   for j:=1 to n do
   write(b[i,j]:4);
   writeln;
  end;
end.

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

Список элементов кода:

  1. Задание размеров матрицы a и b с помощью констант m и n.
  2. Объявление типа матрицы Matrix и переменных a, b, i, j, i1, j1, min с помощью ключевого слова var.
  3. Инициализация матрицы a значениями maxint по периметру с помощью двух циклов for.
  4. Инициализация матрицы b значениями min с помощью двух циклов for.
  5. Заполнение матрицы a случайными значениями в диапазоне от 0 до 19 с помощью цикла for и двух вложенных циклов for.
  6. Построение матрицы b на основе минимальных значений среди соседей элементов матрицы a с помощью двух вложенных циклов for и четырех вложенных циклов for.
  7. Вывод матрицы b на экран с помощью цикла for и двух вложенных циклов for.

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


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

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

11   голосов , оценка 4.273 из 5
Похожие ответы