Foro de elhacker.net

Programación => Java => Mensaje iniciado por: soser en 4 Octubre 2010, 04:46 am



Título: Polinomios
Publicado por: soser en 4 Octubre 2010, 04:46 am
Estoy tratando de hacer un programa en el que pueda representar polinomios con listas ligadas, si por ejemplo leo un string +2x^2, cada caracter se guardaria en una parte del nodo(signo,constante,variable y exponente), lo que se me ocurre para hacer esto es convertir el string en array y de ahi ir asignando cada parte en el nodo, ahora bien la duda que me surge es como pasarlo a una expresion matematica, es decir que el 2 me lol tome como int y no como '2' o el + como operando y no como'+', debo mencionar que trate de hacerlo, pero me asignaba el codigo ascii de los numeros y los signos los manejaba como char,como podria hacerlo?
Desde ya gracias


Título: Re: Polinomios
Publicado por: Shell Root en 4 Octubre 2010, 04:57 am
Se me ocurre lo siguiente,
1. Una cadena como la siguiente: 1*2+3-2^2. Sln: 9
2. Usar la función SPLIT, para separar los numeros de las operaciones, creo que deber usar StringTokenizer más ExpReg.
3. Recorrer el vector resultante de la función SPLIT
4. Usar un switch, con los operadores. Por ejemplo,
Código
  1. switch(sOperador) {
  2. case '+':
  3.     /* Más */
  4.     break;
  5. case '-':
  6.     /* Menos  */
  7.     break;
  8.  
  9. /* [SNIP] */
  10.  
  11. default:
  12.     /* WTF */
  13.     break;
  14. }
5. Realizar operaciones.
6. Mostrar resultado.


Título: Re: Polinomios
Publicado por: soser en 4 Octubre 2010, 07:28 am
Bien, tratare de hacer lo que me han recomendado, no conocia esa funcion split pero pues nada pierdo con intentar.
Igual si hay otros métodos para hacer lo que busco explicarme como poder hacerlo, gracias.
;D