Построение новой матрицы из сумм значений соседей - PascalABC.NET

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

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

Дана целочисленная прямоугльная матрица размера mxn, заполненная случайными числами. Для каждого внутреннего элемента матрицы (то есть кроме крайних строк и столбцов) найти сумму значений его соседей, вывести эти суммы в виде матрицы.

Решение задачи: «Построение новой матрицы из сумм значений соседей»

textual
Листинг программы
var a,b:array[,] of integer;
    m,n,m1,n1,i,j,i1,j1,k,p:integer;
begin
repeat
write('Количество строк m>3 m=');
readln(m);
until m>3;
repeat
write('Количество столбцов n>3 n=');
readln(n);
until n>3;
setlength(a,m,n);
m1:=m-2;
n1:=n-2;
setlength(b,m1,n1);
randomize;
writeln('Исходная матрица');
for i:=0 to m-1 do
 begin
  for j:=0 to n-1 do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:3);
   end;
  writeln;
 end; 
i1:=-1;
for i:=1 to m-2 do
 begin
  inc(i1);
  j1:=-1;
  for j:=1 to n-2 do
   begin
    inc(j1);
    b[i1,j1]:=0;
    for k:=i-1 to i+1 do
    for p:=j-1 to j+1 do
    b[i1,j1]:=b[i1,j1]+a[k,p];
    b[i1,j1]:=b[i1,j1]-a[i,j];
   end;
  end;
 writeln('Матрица сумм соседей');
 for i:=0 to m1-1 do
  begin
   for j:=0 to n1-1 do
   write(b[i,j]:4);
   writeln;
  end;
 end.

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

  1. Объявлены массивы a и b для хранения исходной и результирующей матриц соответственно.
  2. Задаются размеры исходной матрицы с помощью переменных m и n.
  3. Инициализируются размеры результирующей матрицы m1 и n1.
  4. Заполняется исходная матрица случайными значениями с помощью цикла и функции random.
  5. Задается начальное значение для индексов результирующей матрицы i1 и j1.
  6. Циклы перебирают все строки и столбцы результирующей матрицы.
  7. Для каждой ячейки результирующей матрицы вычисляется сумма значений ее соседей в исходной матрице.
  8. Результирующая матрица выводится на экран.

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


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

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

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