Piccolo programmino di C

di il
31 risposte

31 Risposte - Pagina 2

  • Re: Piccolo programmino di C

    A parte che dovevi scrivere

    double f=0.0,x[N];

    cosa non va con precisione? Facci degli esempi concreti.
  • Re: Piccolo programmino di C

    Nel senso che mandando in esecuzione il programma mi apparivano dei valori della tangente non esatti.
    Però , chiudendo e riaprendo il compilatore sembra tutto funzionare perfettamente .
    Se potrei chiedervi , cosa cambia in questo caso tra double e float??
  • Re: Piccolo programmino di C

    daniele90 ha scritto:


    Nel senso che mandando in esecuzione il programma mi apparivano dei valori della tangente non esatti.
    A me non succede. Se hai modo di mostrare questi valori, fallo.
    Però , chiudendo e riaprendo il compilatore sembra tutto funzionare perfettamente .
    Un compilatore non si "chiude/apre" ... un compilatore compila.
    Che fai esattamente?
    Se potrei chiedervi , cosa cambia in questo caso tra double e float??
    Il double è un tipo di dato numerico in virgola mobile che assicura maggiore precisione del float.
  • Re: Piccolo programmino di C

    Quando dichiaro la variabile ''double'' nel printf devo mettere sempre "%f" come che per il float?



    Un utilizzo di uno rispetto all 'altro fa variare solo l'accuratezza del risultato o comporta altri vantaggi?
    Grazie ancora.
  • Re: Piccolo programmino di C

    Oregon lo so che il compilatore , come dice la parola stessa compila .
    Per chiudere e riaprire il compilatore intendo proprio l'atto di ''chiudere e riavviare un programma qualsiasi''.
  • Re: Piccolo programmino di C

    Il %f va bene

    Il double migliora la precisione e ti consiglio di usarlo sempre

    daniele90 ha scritto:


    Oregon lo so che il compilatore , come dice la parola stessa compila .
    Per chiudere e riaprire il compilatore intendo proprio l'atto di ''chiudere e riavviare un programma qualsiasi''.
    E cosa c'entra chiudere e riavviare un programma con il compilatore? Così non ti fai capire ...

    Comunque è meglio che scrivi

    const double PI = 3.14159;

    nel main ed elimini la #define
  • Re: Piccolo programmino di C

    ''using namespace std;'' (Mi è completamente sconosciuto.)


    A proposito di una variante di tale esercizio , ho provato a ridurre l'intervallo entro cui generare i valori random per poi calcolare la tangente.
    Riesco solamente a ridurre sempre però come multipli di pi_greco.
    Se invece mi fosse chiesto di prendere i valori compresi tra 0 e 0.5 come dovrei procedere?? :/
  • Re: Piccolo programmino di C

    Sulla seconda domanda ?
  • Re: Piccolo programmino di C

    x[i]=fmod(rand(),1);[
    Cosi non funziona , se invece agisco cosi :

    x=fmod(rand(),(2.*PI)/2); me lo restringe.
  • Re: Piccolo programmino di C

    daniele90 ha scritto:


    ''using namespace std;'' (Mi è completamente sconosciuto.)
    Infatti, il tuo codice è C non C++
  • Re: Piccolo programmino di C

    Ammiro la tua precisione , ma siccome sono alle prime armi potresti dirmi come modificare l'intervallo tra 0, 0.5 o 0.1 utilizzando sempre il codice da cui siamo partiti
  • Re: Piccolo programmino di C

    Scrivendo cosi : x=fmod(rand(),(((double)1/2)*PI));


    ottenfo sempre casi cosi sin<1.06...>=0,87. Quindi non riduco l'intervallo a 0-0.5!! :/
  • Re: Piccolo programmino di C

    ultrasound91 ha scritto:


    ho fatto una piccola ottimizzazione , ho tolto int i , che rimarebbe in memoria per tutta l'esecuzione e l' ho inserita nel for in modo che alla fine del ciclo la variabile i venga distrutta
    Attenzione perché questa è una caratteristica del C++ e non del C ... se la compilazione è limitata al C questa modifica non va fatta.
  • Re: Piccolo programmino di C

    Grazie per le vostre risposte , avevo precedentemente detto : ma essendo la variabile dichiarata come tipo double , nel printf non dovrei utilizzare "lf"??? Oppure devo continuare ad utilizzare "f"?
    [/u]
    printf("Tan(%lf)=%lf\n", x[i],f);


    Inoltre dando un occhiata alle funzioni contenute nella libreria math.h , ho notato che la cotangente non è presente. E' cosi?
  • Re: Piccolo programmino di C

    Inoltre dando un occhiata alle funzioni contenute nella libreria math.h , ho notato che la cotangente non è presente. E' cosi?
    Se non c'è è perchè basta un minimo di trigonometria per ottenerla:
    1 / tan(i)
Devi accedere o registrarti per scrivere nel forum
31 risposte