codice:
 
#include <iostream.h>
#include <stdlib.h>
#define MAX 50

using namespace std;

class grafo {
             int valore;
             int *nodi[MAX];
             bool flag[MAX][MAX];
             grafo *next;
             public:
                    grafo(int);
                    ~grafo();
                    grafo(int,int,bool[][MAX]);
                    void inserimento (grafo *pNodo,int);
             };

/*Leggi*/
int Leggi()
{
 int numero;
cout <<"numero: ";
cin >> numero;
return numero;
}

/*costruttore*/
grafo::grafo(int n)
{
 int i,j;
     for (j=0; j<n; j++)
         {
          valore=Leggi();
          grafo *next=NULL;
           for (i=0; i<n; i++)
               flag[i][j]=false;
          }
};

/*costruttore*/
grafo::grafo(int n, int val, bool matrice[][MAX])
{
int i,j;
 valore=val;
 next=NULL;
 char risp;
 for (j=0; j<n; j++)
       for (i=0; i<n; i++)
           {
            cout << "Il " << j << "^ elemento è collegato al " << i+1 << "^ elemento? [s/n]";
            cin >> risp;
            if ((risp=='s')||(risp=='S'))
               flag[i][j]=true;
            else
           flag[i][j]=matrice[i][j];
      }

};

/*distruttore*/
grafo::~grafo()
{
 int i,j;
     for (j=0; j<MAX; j++)
         {
           next=NULL;
           for (i=0; i<MAX; i++)
               flag[i][j]=false;
          }
};

/*Inserimento*/
void grafo::inserimento(grafo *pNodo, int n)
{
 int i,j;
 grafo *newNodo= new grafo(n);     //alloca la memoria e inizializza il primo elemento
 newNodo->grafo(n,newNodo->valore,newNodo->flag[0][0]);//aggiorna la matrice
 for (j=1; j<n; j++)
 {
 cout << "Inserire il valore del " << j+1 << "^ elemento" << endl;
 grafo *newNodo= new grafo(n);     //alloca la memoria e inizializza il nuovo elemento
 newNodo->nodi[j]=&newNodo;
 newNodo->grafo(n,newNodo->valore,newNodo->flag[0][j]);
 }
};

int main()
{
int nNodi;
cout << " Inserisci il numero dei nodi: ";
cin >> nNodi;

      system("PAUSE");
      return 0;
}
nn riesco a capire dov'è l'errore!!! :master: :master: