Построить и напечатать вектор из повторяющихся чисел матрицы - C#
Формулировка задачи:
Сформировать матрицу А6х6 случайных чисел в диапазоне от 0 до 20. Напечатать ее. Построить и напечатать вектор из повторяющихся чисел матрицы.
Решение задачи: «Построить и напечатать вектор из повторяющихся чисел матрицы»
textual
Листинг программы
static int coincidence(int M , int[,] x , int[] coinc )
{
int[] a = new int[M*M];
int k = 0;
for (int i = 0; i < M; i++)
for (int j = 1; j < M; j++)
{
a[k] = x[i,j];
k = k + 1;
}
Array.Sort(a, (v1, v2) => Math.Abs(v1).CompareTo(Math.Abs(v2)));
coinc[0] = 0;
k = 1;
for (int i = 0; i < M*M; i++)
for (int j = i + 1; j < M * M; j++)
{
if (a[i] == a[j])
if (coinc[k] != a[i])
{
coinc[k] = a[j];
k++;
}
}
return k;
}
public static void Main() {
int M = 6;
int[,] a = new int[M,M];
int[] c = new int[M*M];
int k = 0;
Random Rnd = new Random();
for (int i = 0; i < M; i++)
for (int j = i + 1; j < M; j++)
{
a[i,j] = Rnd.Next(0, 20);
}
Console.WriteLine("Исходная матрица");
for (int i = 0; i < M; i++)
{
for (int j = 1; j < M; j++)
Console.Write(String.Format("{0}\t", a[i, j]));
Console.WriteLine();
}
k = coincidence(M , a , c );
Console.WriteLine("\n\nМассив повторяющихся чисел");
for (int l = 0; l < k; l++)
Console.Write(c[l] + " ");
Console.ReadKey();
}
}