Esempio n. 1
0
        static void Main(string[] args)
        {
            Console.Write("Ile wierzchołków ma graf?\n n = ");
            int n = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Podaj macierz sąsiadstwa:");
            int[,] macierz = new int[n, n];
            for (int i = 0; i < n; i++)
            {
                string[] dane = Console.ReadLine().Split(' ');
                for (int j = 0; j < n; j++)
                {
                    macierz[i, j] = Convert.ToInt32(dane[j]);
                }
            }

            //int[,] macierżS =  {{ 0, 1, 1, 0 },
            //                    { 1, 0, 1, 1 },
            //                    { 1, 1, 0, 1 },
            //                    { 0, 1, 1, 0 }};

            //int[,] Macierżf =  {{ 0, 0, 0, 3, 0},
            //                    { 3, 0, 4, 1, 0},
            //                    { 0,-1, 0, 2, 0},
            //                    {-2, 5, 0, 0, 2},
            //                    { 0, 0, 1, 0, 0} };

            //int[,] MaczierzW =  {{ 0, 1, 0, 2, 5, 0},
            //                     { 1, 0, 2, 0, 5, 0},
            //                     { 0, 2, 0, 0, 1, 4},
            //                     { 2, 0, 0, 0, 3, 0},
            //                     { 5, 5, 1, 3, 0, 1},
            //                     { 0, 0, 4, 0, 1, 0} };
            Graf g = new Graf();

            // maks z najkrotszych pomiedzy 2 wierz
            wynik[,,] b = g.Sriednica(macierz, n);
            Console.WriteLine();
            wynik a = b[0, 0, n - 1];

            for (int k = 0; k < n; k++)
            {
                Console.WriteLine("[ k = {0} ]", k);
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (k == (n - 1))
                        {
                            if (b[i, j, k].dist > a.dist)
                            {
                                a = b[i, j, k];  // maks
                            }
                        }
                        g.wypisz(b[i, j, k]);
                    }
                    Console.WriteLine();
                }
                Console.Write("\n\n");
            }
            Console.WriteLine("Średnica:");
            g.wypisz(a);
            Console.ReadKey();
        }