Ciao a tutti. ho bisogno di un aiuto per questo esercizio (grazie in anticipo a chi risponderà):
Descrivere un algoritmo codificato in linguaggio C/C++ che:
definisce la funzione medieM con parametri:
a di tipo vettore di 100 int;
b di tipo vettore di 100 int;
c di tipo un int;
Si suppone che il valore contenuto nel parametro c sia un numero positivo e minore della dimensione del vettore a. Per ogni k, la funzione deve inserire in b[k] il risultato dell’espressione ?_(i=k-c/2)^(k+c/2)¦?a?. Attenzione! Nella sommatoria i valori di i minori di 0 e maggiori o uguali della dimensione del vettore a non devono essere considerati.
nella funzione main
dichiarare un vettore di nome x di 100 int e un vettore di nome y di 100 int;
dichiarare due variabili h e t di tipo int;
inserire (uno per ogni posizione) 100 valori letti da standard input nel vettore x;
inserire un valore letto da standard input nella variabile h. Durante l’esecuzione inserire un valore positivo e minore della dimensione del vettore x;
eseguire la funzione medieM applicata al vettore x e alla variabile h inserendo il risultato nel vettore y;
modificare la variabile t inserendo il valore 1 se l’esecuzione della funzione medieM (punto precedente) ha inserito nel vettore y almeno un numero negativo. In caso contrario modificare la variabile t inserendo il valore -1.
il problema sta negli ultimi 2 punti. non riesco a capire come fare ad eseguire la funzione medieM inserendola nel vettore y.
io tutto il problema l'ho compilato così:
<#include <iostream>
#define D1 5
using namespace std;
int medieM (int a[D1], int b[D1], int c)
{
int i, k = 0, max=0, min=0, somma=0;
min = k - c / 2;
max = k + c / 2;
do
{
for (i = min; i < max; i++)
{
somma = somma + a;
}
b[k] = somma;
k++;
} while (k < D1);
}
int main()
{
int x[D1], y[D1];
int h, t, i, val, num;
for (i = 0; i < D1; i++)
{
cout << "dammi un valore pe ril vettore x" << endl;
cin >> x;
}
cout << "dammi un numero per h:" << endl;
cin >> num;
if (num > 0 && num < x)
{
h = num;
}
medieM (x, y, h);
for (i = 0; i < D1; i++)
{
if (y < 0)
{
t = 1;
}
else
{
t = -1;
}
}
return 0;
}>