コード例 #1
0
        private void geraGrupos(GeradorCluster cluster, List <Aluno> listaAluno)
        {
            List <GrupoAluno> listaGrupo = new List <GrupoAluno>();

            for (int i = 0; i < cluster.vetorCluster.Length; i++)
            {
                List <AreaPesquisa> areaPesquisas = cluster.vetorCluster[i].listaAreaPesquisa;

                GrupoAluno grupo = new GrupoAluno();
                grupo.listaAluno = new List <Aluno>();


                foreach (AreaPesquisa item in areaPesquisas)
                {
                    foreach (Aluno aluno in listaAluno)
                    {
                        if (aluno.Id_area_pesquisa == item.Id_area_pesquisa)
                        {
                            grupo.listaAluno.Add(aluno);
                        }
                    }
                }
                listaGrupo.Add(grupo);
            }
            imprimeGrupos(listaGrupo);
        }
コード例 #2
0
        private void btnGerarGrupos_Click(object sender, EventArgs e)
        {
            panel1.Controls.Clear();
            if (TelaPrincipal.clusterPai != null && TelaPrincipal.listaAluno != null && tbTotalProfessor.Text != "" && tbTotalProfessor.Text != null)
            {
                int            tamanhoCorte = Convert.ToInt32(tbTotalProfessor.Text);
                GeradorCluster clusterAtual = TelaPrincipal.clusterPai;

                if (clusterAtual.vetorCluster != null)
                {
                    while (tamanhoCorte != clusterAtual.vetorCluster.Length)
                    {
                        if (clusterAtual.vetorCluster.Length == tamanhoCorte)
                        {
                            geraGrupos(clusterAtual, TelaPrincipal.listaAluno);
                        }

                        else
                        {
                            clusterAtual = clusterAtual.clusterFilho;
                        }
                    }
                    geraGrupos(clusterAtual, TelaPrincipal.listaAluno);
                }
                else
                {
                    MessageBox.Show("Carregue os arquivos necessários e tente novamente.");
                }
            }
        }
コード例 #3
0
        private void matrizDissimilaridadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter = "(*.txt)|*.txt";
            openFile.ShowDialog();

            if (openFile.FileName != null && openFile.FileName != "")
            {
                StreamReader streamReader = new StreamReader(openFile.FileName);

                LeituraArquivoDissimilaridade leituraArquivoDissimilaridade = new LeituraArquivoDissimilaridade();
                Dissimilaridade[,] matriz = leituraArquivoDissimilaridade.setaMatrizDissimilaridade(streamReader);
                GeradorCluster gerador = new GeradorCluster();
                clusterPai = gerador.setaCluster(matriz);
            }
        }