oregon ha scritto:
All'inizio sarà
precedente=attuale=v[i];
successivo=v[i+1];
durante il ciclo
precedente=v[i-1];
attuale=v[i];
successivo=v[i+1];
e alla fine sarà
precedente=v[i-1];
attuale=successivo=v[i];
Devi impostare bene il ciclo e riflettere su questa storia.
Ciao oregon, scusa se ti scrivo riguardo a questo problema dopo tanti giorni, ho ottimizzato il codice ma non mi esegue la funzione media,
mi potresti aiutare a capire il perché?
#include<iostream>
#define DIM 5
using namespace std;
void inserisci(float v[]);
void media(float v[]);
int main() {
float v[DIM];
inserisci(v);
media(v);
system("Pause");
}
void inserisci(float v[]) {
for (int i = 0; i < DIM; i++) {
cout << "Inserisci i dati [" << i << "]";
cin >> v[i];
}
}
void media(float v[]) {
for (int i = 0; i < DIM; i++) {
if (i == 0)
v[i] = (2 * v[i] + v[i + 1]) / 3;
else
if (i == DIM - 1)
v[i] = (2 * v[i] + v[i - 1]) / 3;
else
{
v[i]=(v[i-1]+ v[i] + v[i - 1]) / 3;
}
}
}
[\code]