Passaggio vettore c++

di il
15 risposte

Passaggio vettore c++

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

  • Re: Passaggio vettore c++

    PASSAGGIO PER RIFERIMENTO: USARLO PERCHE L'HAI IMPARATO.
    
    for (int i = 0;i<=n;i++)
    
    che succede se i == 4?
  • Re: Passaggio vettore c++

    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);
    }
  • Re: Passaggio vettore c++

    
    int vettore[4] = {1, 2, 3, 4};
    cout << somma (vettore, 4);
    
    questa parte va nel main non nella funzione.
  • Re: Passaggio vettore c++

    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?
  • Re: Passaggio vettore c++

    
    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;
    }
    
  • Re: Passaggio vettore c++

    Quindi devo per forza scriverlo nel main?non c'è un modo per scriverlo nella funzione sommaVet?
  • Re: Passaggio vettore c++

    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.
  • Re: Passaggio vettore c++

    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
  • Re: Passaggio vettore c++

    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.
  • Re: Passaggio vettore c++

    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
  • Re: Passaggio vettore c++

    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?
  • Re: Passaggio vettore c++

    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?
  • Re: Passaggio vettore c++

    NO.
  • Re: Passaggio vettore c++

    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