Passare vettore alla funzione

di il
7 risposte

Passare vettore alla funzione

Posso sapere come si passa un vettore ad una funzione?
lo si fa per riferimento o per valore?
ho consultato due siti diversi che hanno spiegato totalmente due cose diverse il che mi ha mandato proprio in confusione totale...
so che è una domanda retorica ma il libro da cui sto studiano (bellini non porta proprio questo argomento )
esempio:
Sviluppare due function C che, dati come parametri di input un array di int e il suo size, determinano e restituiscano come parametro output la somma ed il numero più grande.
mi chiederete uno stralcio di codice ma non so da dove partire

7 Risposte

  • Re: Passare vettore alla funzione

    Impossibile che un libro non ne parli o non faccia esempi.

    Per puntatore ... fai degli esempi e si vede ....
  • Re: Passare vettore alla funzione

    Perchè non mi convince??? eppure funziona
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int max(int v[],int n);
    int somma(int v[],int n);
    main()
    {
    int v[10],i,tot,elemento;
     printf("inserire i 10 numeri\n");
     for (i=0;i<10;i++)
     scanf("%d",&v[i]);
     elemento=max(v,10);
     printf("\nil numero più grande:%d ",elemento);
    tot=somma(v,10);
     printf("il totale \x8A:%d ",tot);
    }
    int max(int v[],int n)
    {
        int grande,i;
        grande=v[0];
     for (i=0;i<10;i++)
        if (v[i]>grande)
     grande=v[i];
    return grande;
    }
    int somma(int v[],int n)
    {
    int i,somma,grande;
    somma=0;
    for (i=0;i<10;i++)
        somma+=v[i];
        return somma;
    }
    
  • Re: Passare vettore alla funzione

    Perché non ti convince?
  • Re: Passare vettore alla funzione

    Non so suona troppo strano.. xD
    Sarà forse il fatto di aver dichiarato un vettore v[] in questo modo e poi il suo size.
    come mai nella function somma se metto nel for (invece di <10)<v il programma non funziona?
    se volessi trovare il secondo numero più grande devo creare un nuovo thread?
  • Re: Passare vettore alla funzione

    V[] indica proprio che v non è una variabile semplice ma un vettore.

    v ha un suo valore specifico, che c'entra il 10 ? Sono due cose diverse
  • Re: Passare vettore alla funzione

    Chiarissimo
    se volessi trovare il secondo numero più grande devo creare un nuovo thread?
  • Re: Passare vettore alla funzione

    Sarebbe meglio
Devi accedere o registrarti per scrivere nel forum
7 risposte