Проверка элементов матрицы - C#
Формулировка задачи:
Добрый день, нужна помощь по двумерным массивом (матрица)
Есть матрица размером 3 строки 4 столбца, заполнена она следующим образом:
1 1 3 3
1 2 2 3
2 2 3 3
Мне нужно сравнить каждые элементы матрицы, с рядом стоящими, если элемент не равен с рядом стоящим, то k++.
Например мы берем элемент 1 строки 2 столбца = 1, и элемент 1 строки 3 столбца = 3, проверяем равны ли они между собой, если не равны, то k++;
Вот мой код программы, запоролся именно на этом месте, на лишние переменные не обращайте внимания, они для дальнейшей разработки. Подскажите пожалуйста, как лучше организовать этот процесс.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double tol = 0.2;
int N, M, vis = 3, dlina = 1, k = 0;
Console.WriteLine("Введите размерность подвального этажа NxM: ");
N = Convert.ToInt32(Console.ReadLine());
M = Convert.ToInt32(Console.ReadLine());
int[,] Podval = new int[N, M];
Console.WriteLine("Введите N последующих строк содержащих по M натуральных чисел, не превосходящих M x N, задающих номер помещения, к которому относится данная клетка: ");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
Podval[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.WriteLine("План подвального этажа. Каждое натуральное число соответствует номеру помещения, к которому относится данная клетка!");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
Console.Write(Podval[i, j] + "\t");
}
Console.WriteLine("\n");
}
for (int j = 0; j < M; j++)
{
for (int i = 0; i < N; i++)
{
if (Podval[i, j] != Podval[i + 1, j])
{
k++;
}
}
}
Console.WriteLine(k);
Console.ReadKey();
}
}
}Решение задачи: «Проверка элементов матрицы»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int[,] m = { { 1, 1, 3, 3 }, { 1, 2, 2, 3 }, { 2, 2, 3, 3 } };
for (int i = 0; i <= 2; i++)
{
for (int j = 0; j <= 3; j++)
Console.Write(m[i, j]+"\t");
Console.Write("\n");
}
int k = 0;
for (int i = 0; i <= 2; i++)
for (int j = 0; j < 3; j++)
if (m[i, j] != m[i, j + 1])
k++;
Console.WriteLine("K = " + k);
Console.ReadKey(true);
}
}