Está en la página 1de 5

PROFESOR: PAULO MAXIMO GUTIERREZ GONZALEZ

INTEGRANTES : AGUILAR MARURI ALAN FERNANDO OVANDO GUTIERREZ ALEXIA VENANCIO GUTIERREZ VANESSA

SECUENCIA: 1CM51

MATERIA: ESTRUCTURA DE DATOS

#include <iostream> #include <string> #include <stack> #include <stdio.h> #include<conio.h>

using namespace std; //

int main(void)

{ string word; stack <char> parentesis; stack <char> simb;

cout << "Ingrese una expresion: "; getline(cin, word); for(int i = 0; word[i] != '\0'; ++i) { if(word[i] == '(' || word[i] == '[' || word[i] == '{') simb.push(word[i]);

else

if(word[i] == ')' || word[i] == ']' || word[i] == '}') simb.pop();

} if((int)simb.size() == 0) cout << "Esta balanceada" << endl;

else cout << "No esta balanceada" << endl; system("pause");

Lo que hace el programa es que nos dice si la ecuacin es balanceada esto se lleva por medio de estos pasos en la pila; donde el PUSH se significa sacar de la pila y el POP meter en la pila para el push se usan estos smbolos (,[ y para el pop ),] su poniendo en esta ecuacin (5-6)[3+9] lo que har el programa es primero ver el inicio como es un parntesis dice si entra esto nos la marca en el push despus pasa a todos lo elemento de adentro y como ninguno de esos elementos estn el push y en el pop pues los eliminan despus como aparece el parntesis cerrado entra la funcin pop y despus vuelve a meter porque tenemos la llave que abre y lo deja dentro se elimina y cuando llegamos a la llave cerrada entra en la funcin de pop y esta la saca de la pila entonces el resultado ser cero por lo tanto es una funcin balanceada si en caso que nos faltara algunos de los smbolos de

push y pop la funcin automticamente te dir que no est balanceada ya que se les ha dado un dato el cual deben seguir.

#include "stdio.h" #include"conio.h" main() {

float resultado;

printf("operacion: (8-5)*2+(8/2)-4: "); printf("\npaso uno: a=(8-5) "); printf("\npaso uno:b=(8/2) "); printf("\npaso dos: c=(a)*2 "); printf("\npaso tres d=(b)-4 "); printf("\npaso tres e=c+d "); resultado=(8-5)*2+(8/2)-4; printf("%.2f\t",resultado); getch(); }

LO QUE HACE EL PROGRAMA ES QUE VA SIGUIENDO POR MEDIO DE LOS SIGNOS EN ESTE CASO LO QUE SON LOS (),-,+,*,/ DEACUERDO ASU GERARQUIA LADE MAYOR GUERARQUIA ES LA DE LOS PARENTESIS POR LO TANTO QUE ES LA OPERACIN QUE SE HACEN PRIMERO EN ESTE CASO TENEMOS DOS POR ESO ALAS DOS LES PUSIMOS EL MISMO PASO DESPUES LO QUE EJECUTA ES LA MULTIPLICACION Y LA DIVISION , DESPUES LO QUE HACES ESK RESTA EL VALOR DE LA ECUACION Y ESTO DA EL RESULTADO DE LA ECUACION QUE HEMOS ELABORADO EN ESTE CASO LA ECUACION QUE DIMOS FUE (8-5)*2+(8/2)-4 Y EL VALOR QUE NOS DA ES 6.

También podría gustarte