Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Sarrel
    Guest

    [C++] Assegnazione di una formula in una variabile

    Salve a tutti, stavo scrivendo un semplice programma in c, quando sono incappato in un piccolo problema: avrei bisogno di assegnare ad una variabile "A" una formula, come ad esempio "5x^3 + 3x^2 - x + 16 = 0", in modo tale che, dopo aver inserito il valore di x, mi basti scrivere B = A, e assegno a B il risultato della formula A, sostituendo la x con il valore immesso dall'utente.

    E' possibile una cosa del genere?

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quella è un'equazione...
    Forse intendevi una funzione: f(x) = 5x^3 + 3x^2 - x + 16
    E come dice il nome stesso in questo caso ti basta creare una funzione e applicarla...
    O una macro se preferisci...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Sarrel
    Guest
    riesci a spiegarmi in che modo?
    magari con un pezzo di codice come esempio
    grazie

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    codice:
    #include <math.h>
    
    #define A(x) (5*pow(x, 3)+3*pow(x, 2)-(x)+16)
    
    double result = A(4.5);
    codice:
    #include <math.h>
    
    double A(double x) {
      return 5*pow(x, 3)+3*pow(x, 2)-x+16;
    }
    
    double result = A(4.5);
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    Sarrel
    Guest
    perfetto, ho capito grazie mille

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Prego, ma questo è ciò che sta alla base del linguaggio...
    Anyway
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7
    Sarrel
    Guest
    se dovessi richiedere all'utente di inserire l'intera funzione in che modo dovrei farlo?
    ovviamente dopo l'inserimento dovrei salvare la funzione in una variabile per poterla riutilizzare all'interno del programma.

  8. #8
    Sarrel
    Guest
    Originariamente inviato da Scara95
    Prego, ma questo è ciò che sta alla base del linguaggio...
    Anyway
    Si, è un po' che non faccio c, grazie comunque riesci mica a rispondere anche alla mia ultima risposta? xD

  9. #9
    In tal caso ti serve un parser di espressioni matematiche, se cerchi nel forum se n'è parlato diverse volte.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Puoi usare questo come base:

    https://github.com/Vincenzo1968/Pars...ic-expressions

    Ma devi modificare la grammatica in modo da estendere il parser per il riconoscimento e l'uso delle variabili.
    Devi usare anche una symbol table, di solito implementata come hash table(ma, in casi semplici come il tuo, può bastare una semplice scansione lineare in un array) per memorizzare lo stato(inizializzato/non inizializzato) e il valore delle variabili.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.