Минимальное из чисел встречающееся в матрица только один раз - C#

Узнай цену своей работы

Формулировка задачи:

Дана целочисленная квадратная матрица, определить минимальное из встречающихся чисел в матрице только один раз. Я бы перевел все в вектор , отсортировал и сравнивал бы соседние числа , это было бы просто. Но так нельзя и я вынужден гипнотизировать visual. Мне бы направление куда копать, буду очень признателен.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int n, min=10007;
  13. bool odin_raz = true;
  14. Console.Write("Введите n: ");
  15. n = int.Parse(Console.ReadLine());
  16. int[,] mass = new int[n, n];
  17. int[,] mass1 = new int[n, n];
  18. for (int i = 0; i < n; i++)
  19. {
  20. for (int j = 0; j < n; j++)
  21. {
  22. Console.Write("mass[" + i + "," + j + "]: ");
  23. mass[i, j] = int.Parse(Console.ReadLine());
  24. mass1[i, j] = mass[i, j];
  25. }
  26. }
  27. for (int i = 0; i < n; i++)
  28. {
  29. for (int j = 0; j < n; j++)
  30. {
  31. for (int k = 0; k < n; k++)
  32. {
  33. if (mass[i, k] < min)
  34. min = mass[i, k];
  35. }
  36. }
  37. }
  38. Console.ReadKey();
  39. }
  40. }
  41. }

Решение задачи: «Минимальное из чисел встречающееся в матрица только один раз»

textual
Листинг программы
  1. using static System.Console;
  2. static class test
  3. {
  4.     static bool MatrContainsMoreThanOne(this int[,] m,int num)
  5.     {
  6.         bool b = false;
  7.         foreach (int i in m)
  8.             if (i == num)
  9.                 if (b) return true;
  10.                 else b = true;
  11.         return false;
  12.     }
  13.     static void Main()
  14.     {
  15.         Write("n : ");
  16.         int n = int.Parse(ReadLine());
  17.         WriteLine("filling : ");
  18.         int[,] m = new int[n, n];
  19.         for (int i = 0; i < n;i++)
  20.         {
  21.             for(int j = 0; j < n; j++)
  22.             {
  23.                 Write($"[{i},{j}] = ");
  24.                 m[i, j] = int.Parse(ReadLine());
  25.             }
  26.         }
  27.         int? min = null;
  28.         WriteLine("content : ");
  29.         for (int i = 0; i < n; i++)
  30.         {
  31.             for (int j = 0; j < n; j++)
  32.             {
  33.                 Write(m[i, j] + "\t");
  34.                 if (!min.HasValue || min > m[i, j])
  35.                     if(!m.MatrContainsMoreThanOne(m[i, j])) min = m[i, j];
  36.             }
  37.             WriteLine();
  38.         }
  39.         if (min.HasValue) WriteLine("unique min : " + min);
  40.         else WriteLine("no results...");
  41.         ReadKey(true);
  42.     }
  43. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы