Algoritmia - posfijo a prefijo

 
Vista:

posfijo a prefijo

Publicado por felipe (1 intervención) el 21/05/2006 22:01:01
necesito el algoritmo para concertir una expresion de posfijo a prefijo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:posfijo a prefijo

Publicado por angela (1 intervención) el 26/04/2007 21:51:30
buenas tardes

deseo saber cuales son los algoritmos para pasar de prefijo a posfijo
de infijo a pos
pos a prefijo

muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

infijo a posfijo

Publicado por alextl (1 intervención) el 22/06/2007 03:14:10
porfavor me pueden mandar el codigo de infijo a posfijo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:infijo a posfijo

Publicado por luis (1 intervención) el 24/07/2008 08:53:35
donde esta el codigo??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:infijo a posfijo

Publicado por Rafa (1 intervención) el 01/11/2009 03:24:36
#include <stdio.h>
#include <iostream>
int pila_vacia(int sne)
{
if(sne==100)
return 1;
else
return 0;
}
void push(char q[100],int *k,char num)
{
*k=*k-1;
q[*k]=num;

}
char pop(char c[100],int *kc)
{
char j;
j=c[*kc];
*kc=*kc+1;
return j;
}
int prioridad(char op)
{
int prio;
switch (op)
{
case '^': case'%':
prio=3;
break;
case '*': case'/':
prio=2;
break;
case '+': case '-':
prio=1;
break;
case '(':
prio=0;
break;

}
return prio;

}


main()
{
char infija[100],posfija[100],pila[100],operador,s;
int ne=100,i=0,p,pr2,x,j=0,band=0,band2=0;

printf("Introduce la exprecion infija\t");
scanf("%s",infija);
// printf("1");

while(infija[i]!= '\0' && band==0)
{
// printf("%c",infija[i]);
// printf("2");
if(infija[i]=='(')
{//****1
operador=infija[i];
push(pila,&ne,operador);
}//****1
if (infija[i]=='1'||infija[i]=='2'||infija[i]=='3'||infija[i]=='4'||infija[i]=='5'||infija[i]=='6'||infija[i]=='7'||infija[i]=='8'||infija[i]=='9'||infija[i]=='0')
{//****2
posfija[j]=infija[i];
j++;
//printf("\nentro porque es %c",infija[i]);
//printf("3");
}//****2

else{//****3
if (infija[i]=='('){//****4
operador=infija[i];
push(pila,&ne,operador);
}//****4

else{//****5
if (infija[i]=='+'||infija[i]=='-'||infija[i]=='*'||infija[i]=='/'||infija[i]=='%'||infija[i]=='^'){//****6

x=pila_vacia(ne);
if(x==1)
{//****7
operador=infija[i];
//printf("\n%c",operador);
push(pila,&ne,operador);
}//****8

else
{
operador=infija[i];
p=prioridad(operador);
//printf("\nprioridad 1 %d",p);
s=pop(pila,&ne);
pr2=prioridad(s);
//printf("\nprioridad 2 %d",pr2);
if(p>pr2)
{
push(pila,&ne,s);
push(pila,&ne,operador);
}
else
{
if (pr2!=0)
{
posfija[j]=s;
j++;
while(pila_vacia(ne)==0)
{

s=pop(pila,&ne);//hago pop del operador que esta en la pila
pr2=prioridad(s);//saco su prioridad
if(p<=pr2)//si la prioridad de mi operador tenia afuera es mayor o = al del q saq
{
posfija[j]=s;//mando a posfija el operador que saque
j++;
}
}
}

push(pila,&ne,operador);// mando al q tenia afuera a la pila
}//else
}
}
}
}
if (infija[i]==')')
{
if (pila_vacia(ne)==1)
{
printf("La exprecion esta mal");
}
while(infija[i]!='(' && pila_vacia(ne)==0)
{
s=pop(pila,&ne);
posfija[j]=s;
j++;

}
if (infija[i]=='(')
{
s=pop(pila,&ne);
}
else
{
printf("Es incorrecta, falta ( ");
band=0;
}

}



i++;

}

while(pila_vacia(ne)==0 && band2==0)
{
s=pop(pila,&ne);
if (s!='(')
{
posfija[j]=s;
j++;
}
else
{
printf("La exprecion esta mal");
band2=1;
}
}
if(pila_vacia(ne)==1 && band==0 && band2==0)
printf("\nPostfija= %s",posfija);
system("PAUSE");
return 0;

}
/*
*/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:infijo a posfijo

Publicado por RODRIGO DE JESUS (1 intervención) el 14/11/2009 22:34:40
Me gustaria me apoyaran con unos programitas que son convertir expresiones de infijo a posfijo y de postfijo a prefijo, gracias... Los mios estan obsoletso y no corren, de preferencia si las tienen en JAVA mejor... Gracias..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:posfijo a prefijo

Publicado por MaRy (1 intervención) el 13/05/2008 20:09:09
alguien que me diga lo que es un posfijo please
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:posfijo a prefijo

Publicado por jose schultz (1 intervención) el 02/09/2008 22:37:09
me podrian pasar un algoritmo sencillo para convertir expresiones infijas a posfijas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:posfijo a prefijo

Publicado por juan (1 intervención) el 03/11/2008 23:36:16
tienes los programas en java
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar