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

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

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

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

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

textual
Листинг программы
  1. var a,b:array[,] of integer;
  2.     m,n,m1,n1,i,j,i1,j1,k,p:integer;
  3. begin
  4. repeat
  5. write('Количество строк m>3 m=');
  6. readln(m);
  7. until m>3;
  8. repeat
  9. write('Количество столбцов n>3 n=');
  10. readln(n);
  11. until n>3;
  12. setlength(a,m,n);
  13. m1:=m-2;
  14. n1:=n-2;
  15. setlength(b,m1,n1);
  16. randomize;
  17. writeln('Исходная матрица');
  18. for i:=0 to m-1 do
  19.  begin
  20.   for j:=0 to n-1 do
  21.    begin
  22.     a[i,j]:=random(20);
  23.     write(a[i,j]:3);
  24.    end;
  25.   writeln;
  26.  end;
  27. i1:=-1;
  28. for i:=1 to m-2 do
  29.  begin
  30.   inc(i1);
  31.   j1:=-1;
  32.   for j:=1 to n-2 do
  33.    begin
  34.     inc(j1);
  35.     b[i1,j1]:=0;
  36.     for k:=i-1 to i+1 do
  37.     for p:=j-1 to j+1 do
  38.     b[i1,j1]:=b[i1,j1]+a[k,p];
  39.     b[i1,j1]:=b[i1,j1]-a[i,j];
  40.    end;
  41.   end;
  42.  writeln('Матрица сумм соседей');
  43.  for i:=0 to m1-1 do
  44.   begin
  45.    for j:=0 to n1-1 do
  46.    write(b[i,j]:4);
  47.    writeln;
  48.   end;
  49.  end.

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

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

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


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

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

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

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

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

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