In effetti, oggi a scuola mi era venuta proprio quella idea... identificare prima tutti gli operatori matematici + e -; identificando quindi le varie "parti" dell'equazione.
Mi spiego meglio: 7x-12+44-4x = 3x+15
Identificando i segni + e - nell'equazione (prima in un membro e poi nell'altro), posso assegnare i valori che li precedono/seguono ad un array. Successivamente identificare se in queste stringhe più brevi che ho assegnato sono presenti x o se si tratta di termini noti, e sommare tra loro i termini simili.
Come faccio a identificare i valori?
Cioè, la funzione Instr mi restituisce la posizione numerica della prima occorrenza trovata.
Ad esempio, il primo - qui si trova al carattere n. 3
Con Mid trovo la stringa che va da carattere 0 a carattere 3
Provo a codificarlo, vediamo =)
codice:
Espr=Textbox.text
k = 0
car0 = 1
lunghezza = Len(Espr)
do while car0 < lunghezza
car1 = Instr(car0,Espr,"-")
vettore(k) = Mid(Espr,car0,car1-1)
car0= car1+1
k = k+1
Loop
Dovrebbe essere giusto, no?
Poi, una volta fatto così, riprendo l'array dall'inizio e verifico in ogni cella se è presente la x o no; la stessa cosa la posso fare eventualmente con valori x^2
Se è così, un problema potrebbe quasi essere risolto... Per le parentesi, vediamo dopo =)