//calcule de la moyenne et de sigma d'un ensamble de mesures //les mesures sont enregistees dans un fichier #include #include #include using namespace std; int main() { //ouverture du fichier mesures.dat ifstream fin("mesures.dat"); if (!fin) { cout << "Erreur: le fichier n'existe pas ! STOP" << endl; system("PAUSE"); return -1; } //lecture de la premiere donnee -> nombre total de mesures int nData = 0; fin >> nData; if (!fin || nData==0) { cout << "Il n'y a pas des donnees ! STOP" << endl; system("PAUSE"); return -2; } //creation dynamique du tableau data de dimension nData double *data = new double [nData]; if (data==0) { //memoire insuffisante ! cout << "L'allocatione dynamique du tableau a echoue ! STOP" << endl; system("PAUSE"); return -3; } //lecture du fichier et remplissage du tableau /*la variable de controle i est locale a la boucle, un fois sorti de la boucle la variable est effacee ; donc il faut declarer une deuxieme variable externe a la boucle pour compter les donnees (nombre d'iterations) */ int nRead = 0; for (int i=0; i> data[i]; if (!fin) { cout << "Les donnees sont finies !" << endl; break; } nRead++; } cout << "Il y a " << nRead << " mesures" << endl; if (nRead != nData) { cout << "Le nobmre de mesures " << nData << " et les mesures lues " << nRead << " ne correspondent pas ! STOP" << endl; system("PAUSE"); return -4; } //calcul de la moyenne double moyenne = 0.; for (int i=0; i 1) { for (int i=0; i