In questo esercizio che ho quasi completato dovrei aggiungere un void azzera() e un void oddity (int n) , il primo dovrebbe azzerare i valori dell'array inferiori alla media , mentre il secondo chiede l'inserimento di un numero intero e sostituisce i primi 10 e gli ultimi 10 posizioni nell'array con l'intero.
Mi potete aiutare in questi due?
Vi ringrazio.
Mi potete aiutare in questi due?
Vi ringrazio.
Codice:
include <cstdlib>
#include <ctime>
#include <cmath>
#include <iostream>
using namespace std;
//dimensione ed array globali
const int dim=120;
double T[dim];
//prototipo della funzione
//temperature casuali [-10;40]
void fillUpArray();
void printArray();
double yearAveragedT();
double getMaxT();
double getMinT();
void averagedTperMonth();
void fillUpArray(){
for(int i=0; i<dim; i++)
T[i]=rand()%51-10;
}
void printArray(){
for(int i=0; i<dim; i++)
cout<<T[i]<<endl;
}
void averagedTperMonth(){
int cont=0; int offset=0;
while(cont<12)
{
double somma=0;
for(int i=0; i<10; i++)
{
somma=somma+T[i+offset];
}
cout<<somma/10.0<<endl;
offset=offset+10.0;
cont++;
}
}
/*restituisce la temperatura media del
mese passato come parametro
*/
double averagedT(int n)
{
double somma=0;
for(int i=0; i<10; i++)
somma=somma+T[i+((n-1)*10)];
return somma/10.0;
}
/*
converte le temperature modificando l'arra
richiamando */
void converToKelvin()
{
for (int i=0;i<dim;i++)
{
T[i]=T[i]+ 273,15;
}
}
bool isitKelvin()
{
if(T[0]>40)
{
return true;
}
}
int main()
{
srand(time(NULL));
int m;
fillUpArray();
printArray();
cout<<endl;
averagedTperMonth();
converToKelvin();
cout<<"array in Kelvin"<<endl;
while(true)
{
cout<<"Seleziona il mese [1;12]: ";
cin>>m;
cout<<averagedT(m)<<endl;
}
return 0;
}