public double get_distantica_conjuntos(string key1, string key2) { key_composta ax_chave_dist = new key_composta(); ax_chave_dist.alterar_Keys(key1, key2); return(this.distancia[ax_chave_dist]); }
private void distancia_Conjuntos(string key1, string key2) { Distancia calc_distancia = new Distancia(); key_composta ax_chave_dist = new key_composta(); ax_chave_dist.alterar_Keys(key1, key2); calc_distancia.get_Set_Grupo1 = this.conjuntos[key1.ToString()]; calc_distancia.get_Set_Grupo2 = this.conjuntos[key2.ToString()]; calc_distancia.caucula_Distancia(); distancia.Add(ax_chave_dist, calc_distancia.get_Rst_Distancia); }
public void agrupamento_Gera_Classes() { int qtd_classes; string ax_elemento; qtd_classes = grupos_saida.Count(); key_composta ax_chave_dist = new key_composta(); if (qtd_classes == 0) { grupos_saida.Add(qtd_classes, chaves_conjuntos); } for (int z = 0; z < grupos_saida.Count(); z++) { for (int y = 1; y < grupos_saida[z].Count; y++) { ax_chave_dist.alterar_Keys(grupos_saida[z][0], grupos_saida[z][y]); if (distancia[ax_chave_dist] > this.vlr_distancia) { ax_elemento = grupos_saida[z][y]; grupos_saida[z].Remove(grupos_saida[z][y]); y--; qtd_classes = z + 1; if (qtd_classes == grupos_saida.Count()) { grupos_saida.Add(qtd_classes, new List <string>()); grupos_saida[qtd_classes].Add(ax_elemento); } else if (qtd_classes < grupos_saida.Count()) { grupos_saida[qtd_classes].Add(ax_elemento); } } } } }
public void trata_Elemento_Unico() { string ax_elemente; double ax_menor = 1; int ax_grupo = 0; key_composta ax_chave_dist = new key_composta(); for (int i = 0; i < grupos_saida.Count; i++) { if (grupos_saida[i].Count == 1) { ax_elemente = grupos_saida[i][0]; grupos_saida[i].Remove(ax_elemente); for (int y = 0; y < grupos_saida.Count; y++) { for (int z = 0; z < grupos_saida[y].Count; z++) { ax_chave_dist.alterar_Keys(ax_elemente, grupos_saida[y][z]); if (distancia[ax_chave_dist] < ax_menor) { ax_menor = distancia[ax_chave_dist]; ax_grupo = y; } } } grupos_saida[ax_grupo].Add(ax_elemente); } } for (int i = 0; i < grupos_saida.Count; i++) { if (grupos_saida[i].Count == 0) { grupos_saida.Remove(i); } } }