Un esempio di ciò che voglio fare:
L'utente mette i numeri in un elenco su una GUI simile a questa
| L1 | L2 | l3 |
----------------
| 3 | 6 | |
| 5 | 3 | |
...
Scrive in un'area di testo un'equazione come questa; L1 + L2 [STO >] L3 e hits calcolano e aggiorna l'elenco a questo
| L1 | L2 | L3 |
----------------
| 3 | 6 | 9 |
| 5 | 3 | 8 |
Nella riga uno, 3 + 6 = 9, quindi la riga corrispondente dei numeri corrisponde alla casella, la riga corrispondente nell'elenco 3 viene aggiornata. Ne abbiamo selezionato una lista digitando L1, e abbiamo usato un opperator del negozio ([STO >]) per memorizzare i numeri nella lista 3. Non è una novità, ho trovato questa idea su ti-83, ti-84 e programmi stat che usa questo.
All'inizio sembrava semplice; Potrei risolverlo conoscendo l'equazione in anticipo con un semplice algoritmo. Ad esempio, con un'equazione come L1 + L2 [STO >] L3 I potrebbe eseguire il ciclo attraverso l'array 2d utilizzando il valore di indice e memorizzare i numeri in una matrice per elaborare i numeri da lì. Per illustrare ho scritto un semplice snippet di codice
for(int i = 0; i <= 100; i++) {
data[i][0] + data[i][1] = data[i][2];
}
//Then update GUI
//So the data array was how I store user data from the gui,
//index 1 grabs the value from the row and index 2 is the corresponding list item.
Il problema:
Non so come procedere quando non conosco l'equazione definita dall'utente. L'utente dovrebbe essere in grado di inserire tutto ciò che è possibile inserire in una calcolatrice. Ad esempio, gli ingressi validi potrebbero anche essere L1 * 3455 [STO >] L2, L1 / L2 [STO >] L3 ect.