Visual Basic - separar en terminos cadena que representa f(x)

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

separar en terminos cadena que representa f(x)

Publicado por Horacio (8 intervenciones) el 25/05/2017 22:53:04
Buenas gente, me ayudarían con lo siguiente:

la idea de la función es que reciba como parámetro un string que corresponde a una función matemática y la devuelva separada cada termino por un espacio en blanco:

ej :

'2x+3' -> 2x +3
'-2x^3+2x^2' -> -2x^3 +2x^2
"cos(2x)^2+3x" -> cos(2x)^2 +3x

lo que hice hasta ahora funciona con los ejemplos mencionados:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Function formatear(funcion As String) As String
    Dim salida As String = ""
    Dim j As Byte = 0
    For i = 0 To funcion.Length - 1
        If funcion.ElementAt(i) = "-" Or funcion(i) = "+" Then
            If Not (funcion(i - 1) = "^" Or funcion(i - 1) = "(") Then
                salida += funcion.Substring(j, j + i) & " "
                j = i
            End If
        End If
    Next
    salida += funcion.Substring(j, funcion.Length - j)
    Return salida
End Function

el caso que no estoy logrando es como el siguiente por ej (x^3+2)/3

donde seria equivalente a x^3/3 +2/3

Gracias
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