Polinomios

Iniciado por soser, 4 Octubre 2010, 04:46 AM

0 Miembros y 1 Visitante están viendo este tema.

soser

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

Shell Root

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 (java) [Seleccionar]
switch(sOperador) {
case '+':
    /* Más */
    break;
case '-':
    /* Menos  */
    break;

/* [SNIP] */

default:
    /* WTF */
    break;
}

5. Realizar operaciones.
6. Mostrar resultado.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

soser

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