Записать в элемент массива сумму окружающих его элементов - C#
Формулировка задачи:
1) Составьте программу, меняющую значение элемента двумерного массива A(N,M) на сумму окружающих его элементов.
Решение задачи: «Записать в элемент массива сумму окружающих его элементов»
textual
Листинг программы
using System;
namespace ConsoleApp4
{
class Program
{
static void Output(int[,] a)
{
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
Console.Write(a[i, j] + "\t");
Console.WriteLine();
}
}
static void Change(int[,] a, int ich, int jch)
{
int sum = -a[ich, jch];
int[,] b = new int[a.GetLength(0) + 2, a.GetLength(1) + 2];
for (int i = 1; i < a.GetLength(0) + 1; i++)
for (int j = 1; j < a.GetLength(1) + 1; j++)
b[i, j] = a[i - 1, j - 1];
for (int i = ich; i < ich + 3; i++)
for (int j = jch; j < jch + 3; j++)
sum += b[i, j];
a[ich, jch] = sum;
}
static void Main()
{
Random r = new Random();
Console.Write("N = "); int n = int.Parse(Console.ReadLine());
Console.Write("M = "); int m = int.Parse(Console.ReadLine());
int[,] a = new int[n, m];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
a[i, j] = r.Next(0, 100);
Output(a);
Console.Write("Координаты элемента:\ni = "); int ich = int.Parse(Console.ReadLine());
Console.Write("j = "); int jch = int.Parse(Console.ReadLine());
Change(a, ich, jch);
Console.WriteLine("Результат:");
Output(a);
}
}
}