SoloCodigo
Programación General => Java => Mensaje iniciado por: jriveram en Viernes 8 de Septiembre de 2006, 00:02
-
hola a todos, necesito el codigo en java para comvertir expresiones infijas en postfijas, lo necesito para una exposicion en la clase de estructura de datos, si alguien lo tiene, y me lo pueda proporcionar, se lo agradeceria muchisimo...
-
Hola :kicking:
Generalmente estas labores son para que aprendas bien como trabajar infijo a posfijo, no sería bueno que alguien te proporcionara ese código por que !!!TE ESTARÍAN HACIENDO LA TARÉA¡¡¡¡, recuerda que la mejor forma de aprender es escribiendo el algoritmo, por que esto implica que análices, diseñes, implementes y pruebes... de esta forma tu exp, quedará lista para una buena calificación :smartass:
-
oye, por fa, si tienes el codigo, ayudame con eso, tengo uno pero tiene solo 2 errores y no se k hacer:
import java.io.*;
class Principal{
public static void main(String arg[])
//throws IOException{
{
try
{
BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
String cad;
char v[];
int opc=0, cont=0;
Pila p=new Pila();
System.out.println("Escriba la cadena Porfavor");
cad=b.readLine().trim();
v=cad.toCharArray();
for(int i=0;i<v.length;i++)
{
if (v=='(')
{
opc=1;
}
if(Character.isLetterOrDigit(v)){
System.out.print(v);
cont++;
}
else
if((v=='+')||(v=='-')||(v=='*')||(v=='/'))
{
p.poner(v);
}
if(cont==2){
System.out.print(p.quitar());
cont=0;
}
if((opc==1)&&(v==')')){
System.out.print(p.quitar());
opc=0;
}
}
while(!p.vacia()){
System.out.print(p.quitar());
}
}
catch (Exception e)
{
}
}
}
public class Pila{
private NodoDoble tope;
public Pila(){
tope=null;
}
public boolean vacia(){
return tope==null;
}
public void poner(char dato){
NodoDoble P=new NodoDoble(dato);
if(vacia()){
tope=P;
}
else{
tope.sig=P;
P.ant=tope;
tope=P;
}
}
public char quitar(){
char dato=0;
if(!vacia()){
dato=tope.getDato();
tope=tope.ant;
if(tope!=null){
tope.sig=null;
}
}
return dato;
}
public char tope(){
char n=this.quitar();
this.poner(n);
return n;
}
}
:(