Chiamata della funzione

di il
2 risposte

Chiamata della funzione

Avendo questa funzione volevo sapere come fare per chiamarla nel main:

List* max_num(List* a[], int n)
{Iterator p;
List* lmax;
int cont, nmax = 0;
lmax = a[0];
for (int i=0; i<n; i++)
{cont = 0;
for (p=a->begin(); !p.is_null(); p.next())
cont++;
if (nmax < cont) {lmax = a; nmax = cont;}
}
return lmax;}

2 Risposte

  • Re: Chiamata della funzione

    Devi cambiare il prototipo della funzione, il primo parametro, basta passare il puntatore a list:

    List* max_num(List* a,int n)
    {
    /*...*/
    a[0].main();
    a[1].variabile=7;
    /*...*/
    }

    in questo modo. Poi nella main:

    main()
    {
    List a[10];
    max_num(a,5); // per esempio cosi

    }
  • Re: Chiamata della funzione

    La funzione vuole che gli sia passato un puntatore ad un puntatore (un array bidimensionale tipo una matrice).
    Quindi devi dichiarare:
    
    List **grafo;
    List *risultatoRestituito;/*il risultato restituito dalla funzione max_num*/
    int n;
    
    Richiamo della funzione:
    
    risulatatoRestituito = max_num (grafo,n)
    
    Comunque da quello che mi sembra la funzione serve a cercare il nodo di un grafo diretto implementato con una lista delle adiacenze che punta al maggior numero di nodi e te ne restituisce l'indirizzo, per cui non puoi passargli solo una lista come proponeva overflow!! Secondo me.

    Mi puoi dire se ho indovinato cosa faceva la funzione e se la mia soluzione era giusta!! Grazie.
    Ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte