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