Skip to content
Snippets Groups Projects
Program.cs 2.65 KiB
using System;
using System.Numerics;

namespace AlgorithmLibrary
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int[] array = { 5, 2, 9, 1, 5, 6 };

            float div = 0.75f;

            Console.WriteLine("\nMERGESORT:\n");
            Console.WriteLine("Před: " + string.Join(", ", array));
            MergeSort.Sort(array, div);
            Console.WriteLine("Po: " + string.Join(", ", array));
            Console.WriteLine("\n----------------------");
            Console.WriteLine("\nBINÁRNÍ VYHLEDÁVÁNÍ\n");
            Console.WriteLine("Hledaný prvek: 6");
            Console.WriteLine("indexPrvku: " + BinarySearch.IndexPrvku(array, 6, div));
            Console.WriteLine("indexPrvku2: " + BinarySearch.IndexPrvkuIterativni(array, 6, div));
            Console.WriteLine("indexPrvkuFloat: " + BinarySearch.IndexPrvkuFloat(new float[] { 1.0f, 2.0f, 5.0f, 5.0f, 6.0f, 9.0f }, 6.0f, div));
            Console.WriteLine("nejvetsiPrvekNeVetsiNezK: " + BinarySearch.NejvetsiPrvekNeVetsiNezK(array, 6,div));

            Console.WriteLine("\n----------------------");
            Console.WriteLine("\nMATICOVÉ VYHLEDÁVÁNÍ\n");
            int[][] matrix = Utils.GenerateRandomMatrix(5, 5, 10);
            int[][] matrix1 = Utils.CopyMatrix(matrix);
            int[][] matrix2 = Utils.CopyMatrix(matrix);
            int[][] matrix3 = Utils.CopyMatrix(matrix);

            Console.WriteLine("Matice:");
            Utils.PrintMatrix(matrix);

            int k = matrix[1][4];
            float div1 = 0.5f;
            float div2 = 0.5f;
            Console.WriteLine("Hledaný prvek: " + k);
            Console.WriteLine();

            Tuple<int, int> result = MatrixSearch.Saddleback(matrix, k);
            Console.WriteLine($"Saddleback: ({result.Item1}, {result.Item2})");

            result = MatrixSearch.IndexPrvku2D(matrix, k, div1, div2);
            Console.WriteLine($"IndexPrvku2D: ({result.Item1}, {result.Item2})");

            Tuple<int, int>[] results = MatrixSearch.IndexyPrvku2D(matrix1, k, div1);
            Console.WriteLine("IndexyPrvku2D:");
            foreach (var res in results)
            {
                Console.WriteLine($"({res.Item1}, {res.Item2})");
            }

            result = MatrixSearch.BinaryMatice(matrix2, k, div1);
            Console.WriteLine($"BinaryMatice: ({result.Item1}, {result.Item2})");

            results = MatrixSearch.BinaryMaticeVsechny(matrix3, k, div1);
            Console.WriteLine("BinaryMaticeVsechny:");
            foreach (var res in results)
            {
                Console.WriteLine($"({res.Item1}, {res.Item2})");
            }

        }
    }
}