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

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 34 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

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
Revisar política de publicidad