public EstAFD2 cerradura(Estado estadoAFN) { EstAFD2 estadoAFD = new EstAFD2(contadorEstado); estadoAFD.getEstadosAFN().Add(estadoAFN); if (estadoAFN.isEstAceptacion()) { estadoAFD.setAceptacion(true); } for (int j = 0; j < estadoAFD.getEstadosAFN().Count(); j++) { for (int i = 0; i < estadoAFD.getEstadosAFN()[j].getListTrans().Count(); i++) { if (estadoAFD.getEstadosAFN()[j].getListTrans()[i].getSimbolo().Equals("ep")) { estadoAFD.getEstadosAFN().Add(estadoAFD.getEstadosAFN()[j].getListTrans()[i].getFinal()); if (estadoAFD.getEstadosAFN()[j].getListTrans()[i].getFinal().isEstAceptacion()) { estadoAFD.setAceptacion(true); } } } } Console.WriteLine("cerradura de: " + estadoAFN.getNumero()); Console.WriteLine("\n"); for (int i = 0; i < estadoAFD.getEstadosAFN().Count(); i++) { Console.Write(estadoAFD.getEstadosAFN()[i].getNumero() + ", "); } Console.WriteLine("\n"); Console.WriteLine("Estado " + estadoAFD.getNombre()); contadorEstado++; return(estadoAFD); }
public EstAFD2 cerradura(List <Estado> estadosAFN) { int contador = 0; EstAFD2 estadoAFD = new EstAFD2(contadorEstado); for (int k = 0; k < estadosAFN.Count(); k++) { estadoAFD.getEstadosAFN().Add(estadosAFN[k]); if (estadosAFN[k].isEstAceptacion()) { estadoAFD.setAceptacion(true); } for (int j = contador; j < estadoAFD.getEstadosAFN().Count(); j = contador) { for (int i = 0; i < estadoAFD.getEstadosAFN()[j].getListTrans().Count(); i++) { if (estadoAFD.getEstadosAFN()[j].getListTrans()[i].getSimbolo().Equals("ep")) { estadoAFD.getEstadosAFN().Add(estadoAFD.getEstadosAFN()[j].getListTrans()[i].getFinal()); if (estadoAFD.getEstadosAFN()[j].getListTrans()[i].getFinal().isEstAceptacion()) { estadoAFD.setAceptacion(true); } } } contador++; } } Console.WriteLine("cerradura de: "); for (int i = 0; i < estadosAFN.Count(); i++) { Console.Write(estadosAFN[i].getNumero() + ", "); } Console.WriteLine("\n"); for (int i = 0; i < estadoAFD.getEstadosAFN().Count(); i++) { Console.Write(estadoAFD.getEstadosAFN()[i].getNumero() + ", "); } Console.WriteLine("\n"); estadoAFD = compararEstadosAFD(estadoAFD); transiciones[transiciones.Count() - 1].setFinal(estadoAFD); Console.WriteLine("Estado " + estadoAFD.getNombre()); contadorEstado++; return(estadoAFD); }