Passaggio vettore c++

di Anonimizzato7811 il
15 risposte
La funzione deve calcolare la somma di un vettore in maniera generale e restituire la somma e poi con l'istruzione cout deve scrivere la somma di un vettore dato: [1,2,3,4]
io la farei così ma mi dà errore:
int somma(int m[], int n)
{ int somma = 0;
for (int i = 0;i<=n;i++)
somma += m;
return somma;
int vettore[4] = {1, 2, 3, 4};
cout << somma (vettore, 4);

}

15 Risposte

  • PASSAGGIO PER RIFERIMENTO: USARLO PERCHE L'HAI IMPARATO.
    
    for (int i = 0;i<=n;i++)
    
    che succede se i == 4?
  • Correggo:
    int somma(int m[], int n)
    { int somma = 0;
    for (int i = 0;i<n;i++)
    somma += m;
    int vettore[4] = {1, 2, 3, 4};
    cout << somma (vettore, 4);
    }
  • 
    int vettore[4] = {1, 2, 3, 4};
    cout << somma (vettore, 4);
    
    questa parte va nel main non nella funzione.
  • Infatti se lo metto nel main il programma parte,è solo che l'esercizio chiedeva di scrivere una funzione che calcolasse la somma in generale e poi di scrivere all'interno della funzione l'istruzione che mi fa scrivere la somma del vettore {1,2,3,4},quindi come posso scriverla?
  • 
    int sommaVettore(int m[], int n)
    { 
    int somma = 0;
    for (int i = 0;i<n;i++)
    somma += m[i];
    cout << somma;
    }
    
    int main()
    {
    int vettore[4] = {1,2,3,4};
    sommaVettore(v,4);
    return 0;
    }
    
  • Quindi devo per forza scriverlo nel main?non c'è un modo per scriverlo nella funzione sommaVet?
  • Allora puoi fare così
    
    int sommaVettore()
    {
    int m[4] = {1,2,3,4};
    int n = 4;
    int somma = 0;
    for (int i = 0;i<n;i++)
    somma += m[i];
    cout << somma;
    }
    
    int main()
    {
    sommaVettore();
    return 0;
    }
    
    solo che non ha senso. non hai il controllo sul vettore.
  • In effetti neanch'io capisco molto il senso di quell'esercizio,è solo che mi era capitato all'esame,come hai scritto tu però non è scriverlo in maniera generale,perchè passi direttemente il vettore
  • Allora cosa vuoi fare? Definire il vettore nel main e passarlo alla funzione oppure non definire niente nel main e farlo fare tutto alla funzione. I modi sono 2 non 1000.
  • Io dicevo di far fare tutto alla funzione,è solo che prima alla funzione devo far fare la somma in maniera generale con un vettore sconosciuto v, e successivamente passare il vettore v[4] e calcolare la somma
  • Ma leggi quello che scrivi o no? Questo che ti ho scritto prima cos'è?
    
    int sommaVettore(int m[], int n)
    {
    int somma = 0;
    for (int i = 0;i<n;i++)
    somma += m[i];
    cout << somma;
    }
    
    int main()
    {
    int vettore[4] = {1,2,3,4};
    sommaVettore(v,4);
    return 0;
    }
    
    sommaVettore è una funzione che calcola la somma di un vettore passato come parametro. Quindi calcola in maniera generale la somma di qualsiasi vettore passato come parametro. Se non sai cosa chiedere perche chiedi non capisco?
  • Scusami ma sicuramente mi sono spiegata male,io vorrei far fare tutto alla funzione,senza main,prima vorrei scriver la funzione in forma generale e poi col cout nella funzione stessa vorrei scrivere la somma del vettore v[4],è possibile farlo?
  • NO.
  • Ok,comunque l'esercizio chiedeva praticamente di scrivere una funzione in cui si calcolasse la somma di un vettore generale e poi di scrivere l'istruzione che calcolasse la somma del vettore v[4],quindi tu avresti scritto la funzione e poi il main,ok
Devi accedere o registrarti per scrivere nel forum
15 risposte