Esempio n. 1
0
        //vytvoreni matice sousednosti a vyvod v listbox
        private void createAdjAndOut()
        {
            AMatrix = new int[V.Count, V.Count];
            G.fillAdjacencyMatrix(V.Count, E, AMatrix);
            listBoxMatrix.Items.Clear();
            string sOut = "    ";

            for (int i = 0; i < V.Count; i++)
            {
                sOut += (i + 1) + " ";
            }
            listBoxMatrix.Items.Add(sOut);
            for (int i = 0; i < V.Count; i++)
            {
                sOut = (i + 1) + " | ";
                for (int j = 0; j < V.Count; j++)
                {
                    sOut += AMatrix[i, j] + " ";
                }
                listBoxMatrix.Items.Add(sOut);
            }
        }
Esempio n. 2
0
        //создание матрицы смежности и вывод в листбокс
        private void createAdjAndOut()
        {
            AMatrix = new int[V.Count, V.Count];
            G.fillAdjacencyMatrix(V.Count, E, AMatrix, W);
            listBoxMatrix.Items.Clear();
            string sOut = "    ";

            for (int i = 0; i < V.Count; i++)
            {
                sOut += (i + 1) + " ";
            }
            listBoxMatrix.Items.Add(sOut);
            for (int i = 0; i < V.Count; i++)
            {
                sOut = (i + 1) + " | ";
                for (int j = 0; j < V.Count; j++)
                {
                    sOut += AMatrix[i, j] + " ";
                }
                listBoxMatrix.Items.Add(sOut);
            }
            int  k       = 0;
            bool isEuler = true;

            for (int i = 0; i < V.Count; i++)
            {
                for (int j = 0; j < V.Count; j++)
                {
                    if (AMatrix[i, j] != 0)
                    {
                        k++;
                    }
                }
                if (k % 2 != 0 || k == 0)
                {
                    isEuler = false;
                    break;
                }
                k = 0;
            }
            listBoxMatrix.Items.Add("Эйлеров цикл существует? - " + isEuler.ToString());

            if (isEuler)
            {
                e = new int[V.Count, V.Count];
                euler(0, AMatrix);
            }

            BFS();
        }
        //создание матрицы смежности и вывод в datagrid
        private void createAdjAndOut()
        {
            AMatrix = new float[V.Count, V.Count];
            G.fillAdjacencyMatrix(V.Count, E, AMatrix);

            tableEnter.Rows.Clear();
            tableEnter.Columns.Clear();

            for (int i = 1; i <= V.Count; i++)
            {
                var colum = new DataGridViewColumn();
                colum.HeaderText   = i.ToString();
                colum.Width        = 50;
                colum.CellTemplate = new DataGridViewTextBoxCell();
                tableEnter.Columns.Add(colum);
            }

            tableEnter.Rows.Add(V.Count - 1);
            float ch;

            for (int i = 0; i < V.Count; i++)
            {
                tableEnter.Rows[i].HeaderCell.Value = (i + 1).ToString();
                ch = 0;
                for (int j = 0; j < V.Count; j++)
                {
                    tableEnter[j, i].Value = AMatrix[i, j];
                    ch += AMatrix[i, j];
                }
                if (ch > 1)
                {
                    tableEnter.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                    MessageBox.Show("Ошибка в строке");
                }
            }
        }
 //создание матрицы смежности и вывод в листбокс
 private void createAdjAndOut()
 {
     AMatrix = new int[V.Count, V.Count];
     G.fillAdjacencyMatrix(V.Count, E, AMatrix);
 }