Минимальное из чисел встречающееся в матрица только один раз - C#
Формулировка задачи:
Дана целочисленная квадратная матрица, определить минимальное из встречающихся чисел в матрице только один раз.
Я бы перевел все в вектор , отсортировал и сравнивал бы соседние числа , это было бы просто. Но так нельзя и я вынужден гипнотизировать visual. Мне бы направление куда копать, буду очень признателен.
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) { int n, min=10007; bool odin_raz = true; Console.Write("Введите n: "); n = int.Parse(Console.ReadLine()); int[,] mass = new int[n, n]; int[,] mass1 = new int[n, n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Console.Write("mass[" + i + "," + j + "]: "); mass[i, j] = int.Parse(Console.ReadLine()); mass1[i, j] = mass[i, j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { for (int k = 0; k < n; k++) { if (mass[i, k] < min) min = mass[i, k]; } } } Console.ReadKey(); } } }
Решение задачи: «Минимальное из чисел встречающееся в матрица только один раз»
textual
Листинг программы
using static System.Console; static class test { static bool MatrContainsMoreThanOne(this int[,] m,int num) { bool b = false; foreach (int i in m) if (i == num) if (b) return true; else b = true; return false; } static void Main() { Write("n : "); int n = int.Parse(ReadLine()); WriteLine("filling : "); int[,] m = new int[n, n]; for (int i = 0; i < n;i++) { for(int j = 0; j < n; j++) { Write($"[{i},{j}] = "); m[i, j] = int.Parse(ReadLine()); } } int? min = null; WriteLine("content : "); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Write(m[i, j] + "\t"); if (!min.HasValue || min > m[i, j]) if(!m.MatrContainsMoreThanOne(m[i, j])) min = m[i, j]; } WriteLine(); } if (min.HasValue) WriteLine("unique min : " + min); else WriteLine("no results..."); ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д