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); }
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."); } } }
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); } }