salve ho un esercizio da fare che richiede di aprire un file e allocare un puntatore dinamico contenente il numero dei dati totali e trovare il valore massimo e medio. Ma uno dei tanti problemi che ho riscontrato è che mi chiede di calcolare il valore medio per ogni mese, considerando la media rispetto ai 5 mesi precedenti e successivi per un totale di 11 mesi.
vi posto quello che ho fatto finora.
vi posto quello che ho fatto finora.
Codice:
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main(){
ifstream ifile("sunspots.txt");
if (!ifile) {
cout << "Errore nell'apertura del file" << endl;
return 1;
}
int n=0;
double d;
while (ifile >> d){
n++;
}
double* p = new double[n];
double Vm=p[0],maximum=p[0];
ifile.clear();
ifile.seekg(0,ios::beg);
// leggo il vettore dal file
for (int i=0;i<n;i++){
ifile >> p[i];
cout << "leggo il vettore dal file:"<< p[i] << endl; }
for (int i=0;i<n;i++) {
Vm=Vm+p[i] ;
Vm= Vm/n;
}// calcolo valore medio
cout << " il valore medio è:" << Vm << endl;
for (int i=0;i<n;i++) {
if (p[i]>maximum) {
p[i]=maximum ; }
}
cout << " il valore massimo è:" << maximum << endl;
delete [] p;
return 0;
}
Ultima modifica da un moderatore: