public static int NhapN(string note) {
int n = int.Parse(Console.ReadLine());
public static int[,] NhapMaTran(string note) {
int n = NhapN("Nhap dong n: ");
int m = NhapN("Nhap cot m: ");
for (int i = 0; i < arr.GetLength(0); i++) {
for (int j = 0; j < arr.GetLength(1); j++) {
arr[i, j] = int.Parse(Console.ReadLine());
public static void XuatMaTran(int[,] arr) {
for (int i = 0; i < arr.GetLength(0); i++) {
for (int j = 0; j < arr.GetLength(1); j++) {
Console.Write(arr[i, j] + " ");
public static int DemPhanTuCucDai(int[,] arr) {
int[] dong = {-1, -1, -1, 0, 0, 1, 1, 1};
int[] cot = {-1, 0, 1, -1, 1, -1, 0, 1};
for (int i = 0; i < arr.GetLength(0); i++) {
for (int j = 0; j < arr.GetLength(1); j++) {
for (int k = 0; k < 8; k++) {
if (i + dong[k] >= 0 && j + cot[k] >= 0 && i + dong[k] < arr.GetLength(0) && j + cot[k] < arr.GetLength(1)) {
if (arr[i, j] == arr[i + dong[k], j + cot[k]]) {
public static void Main() {
arr = NhapMaTran("Nhap ma tran: ");
int result = DemPhanTuCucDai(arr);