Estructura de datos
Estructura De Datos
Tareas Proyecto
Angel Rafael Salazar Alvarado 1570053Blanca Montemayor
Prefija - Infija - Posfija
//-----Dependencias
#include <stdio.h>
#include <conio.h>
//-----Declaración de funciones
voidlimpiar(char[],int), pasar(char[],char[]),
conv_pre(char[],char[]), conv_pos(char[],char[]),
rec_exp(char[]), inver(char[],char[]);
int verif(char[]), tama(char[]), sim(char),prio(char,char);
//-----Variables globales
char Simb[4][2]={{'(',')'},{'-','+'},{'/','*'},{'$','\0'}},
expr[50], pila[50], expr_c[50], epre[50], epos[50],
elem, simb;
int i, j, n,tope, val, cont1, cont2, v;
//-----Inicio del programa
main(){
limpiar(expr,50);
limpiar(pila,50);
limpiar(expr_c,50);
limpiar(epre,50);
limpiar(epos,50);
do{printf("Introduzca la expresión infija: ");
for(i=0;(expr[i]=getchar())!='\n';++i);
if(expr[i]=='\n'){
expr[i]='\0';
}
if(verif(expr)!=3){
printf("\nLa expresión %s noes valida, ",expr);
switch(verif(expr)){
case 0: printf("esta mal la función.");
case 1: printf("le faltan paréntesis derechos.");
case 2: printf("le faltanparéntesis izquierdos.");
}
getche();
}
}while(verif(expr)!=3);
inver(expr_c,expr);
conv_pre(expr_c,epre);
printf("\nLa conversión a Prefija es: %s",epre);pasar(expr_c,expr);
conv_pos(expr_c,epos);
printf("\nLa conversión a Posfija es: %s",epos);
getche();
}
//-----Limpia la variable
void limpiar(char a[], int n){for(i=0;i<n;i++){
a[i]='\0';
}
}
//-----Pasa de una variable a otra
void pasar(char a[], char b[]){
int n1, n2;
n1=tama(a);
n2=tama(b);
if(n1>n2){
for(i=0;i<n1;i++){...
Regístrate para leer el documento completo.