Int e float

di il
3 risposte

Int e float

Come si fa a dividere un float per un int

mi restituisce comme risultato sempre 0.0000

3 Risposte

  • Re: Int e float

    Ciao.
    Quando in una espressione sono utilizzati tipi di dati differenti, il compilatore, per poter calcolare l'espressione è costretto a trasformare i numeri in modo che siano dello stesso tipo. Ciò viene fatto trasformando sempre il numero che occupa meno memoria in quello che ne occupa di più.
    Per esempio:

    int i;
    double d;
    a=d*i;

    Il compilatore ha convertito l'int in double e poi esegue l'operazione.
    Questa conversione può essere forzata con un cast. Per fare un cast è sufficiente mettere il tipo che vogliamo usare tra parentesi tonde prima dell'operazione.
    Per esempio:

    d=(float)i/2

    Di conseguenza la variabile intera è stata convertita in un float ed è possibile operare su variabili dello stesso tipo.
    Ciao!
  • Re: Int e float

    Niente aggiunte....
    risposta più che completa
  • Re: Int e float

    #include <stdio.h>
    #include <stdlib.h>

    float calcolo_media(float v[],int n);

    void main()
    {
    float a[10],media,somma;
    int n,i;
    printf(\"inserisci la dimensione dell'array\\n\",n);
    scanf(\"%d\",&n);
    for(i=0;i<n;i++)
    {
    printf(\"inserisci l'elemento %d:\",i);
    scanf(\"%d\",&a);
    }

    media=calcolo_media(a,n);

    media=somma/(float)n;

    printf(\"la media e' %f \\n\",media);
    system (\"pause\");
    return 0;
    }

    float calcolo_media(float v[],int n)
    {
    int i;
    float somma,media;
    somma=0.0;
    for(i=0;i<n;i++)
    {
    somma=somma+v;
    }
    media=somma/(float)n;
    return media;
    }
Devi accedere o registrarti per scrivere nel forum
3 risposte