Accedi

Ho dimenticato la password

Ultimi argomenti
» argomento
Dom Giu 02, 2013 4:30 pm Da ruggiero98

» problema con la funzione SE aiutoooo x favore?????
Dom Giu 02, 2013 4:18 pm Da ruggiero98

» aiuto in programma con if
Dom Mag 26, 2013 5:39 pm Da ruggiero98

»  CALCOLO PERCENTUALE IN C
Sab Apr 20, 2013 8:22 pm Da ruggiero98

» Costruire un temporizzatore software per accensione luci a led
Lun Mar 25, 2013 2:34 pm Da Cristina Shady

» Ciao a tutti!
Gio Mar 22, 2012 4:19 am Da cosmos91

» Virtualbox VS le periferiche USB
Mar Apr 06, 2010 1:49 pm Da dandeciani

» PROGRAMMA: BINARY CODE
Mar Dic 23, 2008 7:28 pm Da Thalionwen

» saluti a tutti
Mar Dic 23, 2008 7:12 pm Da Thalionwen

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Sab Nov 29, 2008 11:44 am Da ya89

» un semplice ciao
Sab Nov 29, 2008 11:38 am Da ya89

» Aiuto per alice 7 mega
Ven Nov 14, 2008 4:03 pm Da root

» FORUM: I nuovi banner
Ven Nov 14, 2008 2:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Ven Nov 14, 2008 2:43 pm Da Thalionwen

» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Ven Nov 14, 2008 1:54 pm Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Ven Nov 14, 2008 12:41 am Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mer Nov 12, 2008 12:59 am Da ab89

» [PS2] Dark Cloud
Mar Nov 11, 2008 6:50 pm Da ab89

» [PC] Sacred 2
Lun Nov 10, 2008 10:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Lun Nov 10, 2008 1:37 pm Da ab89

Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Calcolo della Media e della deviazione di N numeri con File

Andare in basso

Calcolo della Media e della deviazione di N numeri con File

Messaggio Da ab89 il Sab Ott 11, 2008 6:14 pm

La media di N elementi la sanno calcolare tutti.
In caso di problemi consultate Wikipedia e avrete le vostre risposte.
Per quanto riguarda la deviazione standard.
Chi sa cosè la deviazione standard??
Ovviamente io o non avrei scritto un programma in C per calcolarla.
Per chi invece non sa di cosa si tratta nè come calcolarla, rimanda al seguente link Deviazione Standard .

Ora passiamo al programma vero e proprio.
Ciò che vado a scrivere è un semplice programma che calcola la media e la deviazione di N numeri.
Cosa in effetti semplice da fare con carta e penna.
Solo che questo programma, invece di chiedere i dati direttamente all'utente va a leggerli da un file, il cui nome viene inserito in input dall'utente.Questo permette di salvare fisicamente i dati inseriti per non dover ogni volta inserire manualmente quantità enormi di dati Very Happy

Codice:

//programma : calcola la media e la deviazione standard di N elementi inseriti usando i file

#include<stdio.h>
#include<math.h>

#define NUMERO_ELEMENTI_MAX 100

main()
{
  int numElementi;
  char nomeFile[100];
  double elementi[NUMERO_ELEMENTI_MAX], media, somma, sommaScarti, varianza;
  int i;
  FILE *pf ;
 
  //lettura nome file
  printf("Inserisci il nome del file da cui prelevare i dati : ");
  scanf("%s",nomeFile);

  if (!((pf = fopen(nomeFile,"r")) == NULL)) {

          //lettura elementi da file
          i = 0;
          while(fscanf(pf,"%lf",&elementi[i]) != EOF)
              i++;

          numElementi = i;
 
          //se gli elementi letti sono minori o uguali al numero massimo consentito esegui calcoli

          if (numElementi <= NUMERO_ELEMENTI_MAX){
 
                for (i = 0, somma = 0; i < numElementi; i++){
                      printf("%lf\n",elementi[i]);
                      somma += elementi[i];
              }

              media = somma / numElementi;

                for(i = 0, sommaScarti = 0; i < numElementi; i++){
                      sommaScarti += pow(elementi[i]-media,2);
              }
       
              varianza = sqrt(sommaScarti / numElementi);

            printf("Media =  %.4lf \nSQM = %.4lf\n",media,varianza);
          }
          else //altrimenti restituisci l'errore
            printf("ERRORE !! Il numero massimo di elementi è %d mentre nel file ci sono %d          elementi\n",NUMERO_ELEMENTI_MAX,numElementi);
    }
    else printf("Il file sorgente non esiste !! \n");
    system("PAUSE");
 }

La spiegazione è stata fatta. Il sorgente è stato scritto.
Ora manca l'analisi, che sinceramente non mi spreco a fare, anche perchè il programma è semplice e i commenti sono sufficienti. Se avete domande in merito al codice postate pure. Sono a disposizione Very Happy

NB: Per chi programma in C in ambiente Linux-like (openSuse, Gentoo, ...) potrebbe accadere che se compilate con l'istruzione da shell "gcc -o sorgente.x sorgente.c" la cosa non funzioni. La soluzione è sfruttare un'altro compilatore e scrive la formula nel seguente modo "g++ -o sorgente.x sorgente.c"

_________________
生きるためにもあまり変過ぎるし、死ぬためにもあまり珍し過ぎる。

What D.Gray-man Character Are You?
Hosted By theOtaku.com: Animee

avatar
ab89
Admin
Admin

Numero di messaggi : 74
Età : 29
Località : Rovigo
Data d'iscrizione : 29.09.08

Scheda personaggio
PF:

Visualizza il profilo

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum