Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Media valori pari in un vettore

    La traccia è questa:
    Rappresentare il programma relativo all'algoritmo in grado di:
    . acquisire da tastiera elementi interi non nulli che compongono il vettore V (il valore
    nullo introdotto da tastiera pone fine all'acquisizione, non al programma, e non
    appartiene al vettore acquisito),
    . ricercare, in un unico ciclo, la media dei li valori pari del suddetto vettore


    codice:
    #include <stdio.h>
    #include <conio.h>
    #define max 100
    /*PROTOTIPI*/
    void input(int v[], int *dim);
    double med(int v[], int dim, double *media);
    void output(int v[], int dim, double media);
    /*FUNZIONE PRINCIPALE*/
    main() {
    int v[max], dim;
    double media;
    input(v, &dim);
    med(v, dim, &media);
    output(v, dim, media);
    return 0;
    }
    
    void input(int v[], int *dim) {
    int val;
    *dim=0;
    do {
       printf("Inserire valore v[%d]: ", *dim);
       scanf("%d", &val);
       v[(*dim)]=val;
       (*dim)++;
       }
    while((val!=0) && (*dim<max));
    if(val==0) (*dim)--;
    }
    
    double med(int v[], int dim, double *media) {
    int somma=0, m=0, i;
    for(i=0;i<dim;i++) {
     if(v[i]%2==0) {
      somma+=v[i];
      m++;
      }
     }
    *media=somma/m;
    }
    
    void output(int v[], int dim, double media) {
    int i;
    printf("\nVettore\n");
    for(i=0;i<dim;i++) {
     printf("%d ", v[i]);
     }
    printf("\n\nLa media dei valori pari: %d\n", media);
    }
    Quando lo faccio partire mi restituisce come media sempre 0, come mai?
    Mi spieghereste cosa sbaglio?
    Vi ringrazio
    http://premiatinavigando.weebly.com/

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Stai stampando un double (la media) con il codice di formato %d. Devi usare %lf.
    every day above ground is a good one

  3. #3
    tipico errore stupido da sbattere la testa contro il muro
    grazie
    http://premiatinavigando.weebly.com/

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.