Skip to content

Instantly share code, notes, and snippets.

@oppahero
Created April 1, 2018 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oppahero/9ef30fe1ec44e0232fb3ea15797594ce to your computer and use it in GitHub Desktop.
Save oppahero/9ef30fe1ec44e0232fb3ea15797594ce to your computer and use it in GitHub Desktop.
// Si la suma de las dos pilas es 3, hay dos elementos en la 1eraprila y uno en la 2da pila
if (cantOperandos > 1 && cantOperandos < 4 && validaEntrada(operacion,cantOperandos)) {
Permutacion auxiliar1,auxiliar2;
if(cantOperandos == 3){ // si (R0 * R1)
auxiliar1 = miTriangulo.buscaPermutacion(PrimeraOperacion.pop()); //Este es R1
auxiliar2 = miTriangulo.buscaPermutacion(PrimeraOperacion.pop()); //Este es R0
resultado = miTriangulo.operarPermutaciones(auxiliar2,auxiliar1);
muestraExplicacion(auxiliar2,auxiliar1,false);
auxiliar2 = miTriangulo.buscaPermutacion(SegundaOperacion.pop());
//Si operador=true. Es de esta forma. Ej: (R0*R1) * Pi0
if (operador){
muestraExplicacion(resultado, auxiliar2,true);
resultado = miTriangulo.operarPermutaciones(resultado,auxiliar2);
operador = false;
}else { //Sino, es Ej: Pi0*(R0*R1)
muestraExplicacion(auxiliar2,resultado,true);
resultado = miTriangulo.operarPermutaciones(auxiliar2,resultado);
}
System.out.println("Resultado: ");
resultado.imprimir();
}
else if(cantOperandos==2){
//Si 1era pila es 2. La operación fue ingresada como (Pi0*R0)
if ( PrimeraOperacion.size() == 2){
auxiliar1=miTriangulo.buscaPermutacion(PrimeraOperacion.pop());
auxiliar2=miTriangulo.buscaPermutacion(PrimeraOperacion.pop());
resultado=miTriangulo.operarPermutaciones(auxiliar2, auxiliar1);
}
else{
auxiliar1=miTriangulo.buscaPermutacion(SegundaOperacion.pop());
auxiliar2=miTriangulo.buscaPermutacion(SegundaOperacion.pop());
resultado=miTriangulo.operarPermutaciones(auxiliar2,auxiliar1);
}
muestraExplicacion(auxiliar2, auxiliar1,false);
System.out.println("El resultado es: ");
resultado.imprimir();
}
//Actualizamos el triángulo
imprimirTriangulo(resultado.getNombre());
pantallaCalc.setText(resultado.getNombre());
}else {
JOptionPane.showMessageDialog(null,"Debe indicar una expresión válida ");
pantallaCalc.setText("");
}
}else JOptionPane.showMessageDialog(null,"Debe indicar una operación ");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment