Created
April 1, 2018 20:07
-
-
Save oppahero/83aeed6315c2e22c7bc88c941f6f2bd5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SUMA ENTRE PILAS | |
cantOperandos = PrimeraOperacion.size() + SegundaOperacion.size(); | |
// 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); | |
}else { //Sino, es Ej: Pi0*(R0*R1) | |
muestraExplicacion(auxiliar2,resultado,true); | |
resultado = miTriangulo.operarPermutaciones(auxiliar2,resultado); | |
} | |
} | |
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{ //Sino Pi0 * R0 | |
auxiliar1=miTriangulo.buscaPermutacion(SegundaOperacion.pop()); | |
auxiliar2=miTriangulo.buscaPermutacion(SegundaOperacion.pop()); | |
resultado=miTriangulo.operarPermutaciones(auxiliar2,auxiliar1); | |
} | |
muestraExplicacion(auxiliar2, auxiliar1,false); | |
} | |
//Actualizamos el triángulo | |
imprimirTriangulo(resultado.getNombre()); | |
}else { | |
JOptionPane.showMessageDialog(null,"Debe indicar una expresión válida "); | |
pantallaCalc.setText(""); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment