Построить и напечатать вектор из повторяющихся чисел матрицы - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д