Salve a tutti
sono nuovo...vi scrive perchè mi servirebbe una mano!!!
dovrei presentare un progetto per un esame
questo è il testo:
Dato un grafo G=(V,L) non orientato, chiamiamo triangolo un insieme di tre nodi distinti
di G che formano una clique({a,b,c} tale che a!=b b!=c a!=c e i lati ab bc e ac appartengono ad L
a) sia G = (V,L) un grafo non orientato e completo ovvero ab E L , per ogni coppia di nodi distinti. se n è il numero di nodi di G
qual'è il numero dei suoi triangoli?
b) progettare un algoritmo che ricevendo in input un grafo non orientato G calcoli il numero
dei suoi triangoli. Si assuma G rappresentato mediante matrice di adiacenza

per chi non è al corrente una matrice di adiacenza è una matrice simmetrica dove la diagonale è posta a 0.

mi manca la parte b e non so come cavarne piede. c'è qualcuno per caso che mi può dare una mano?

quel che ho fatto io è questo ma non creo una matrice tramite l'inserimento di un grafo. bensi calcolo il numero dei triangoli sapendo il numero dei vertici del grafo
programma con c++
codice:
main()
{
int n_triang=0,i=1,c=0, j, V,Grafo[MAX][MAX],sum=0;
int n;
        
        printf("\nInserire il numero dei vertici del grafo :\n");
        scanf("%d",&V);
      
       if (V==0 || V==1 || V==2)
         printf("il grafo non ha triangoli");
         else
             { 
                    creagrafo(Grafo,V);
                    stampagrafo (Grafo,V);
                    
                 for (j=3; j<=V; j++)
                 {
                      n_triang= n_triang+i;
                      n+=n_triang;
                     
                 i++;
             
                 }
                    printf("\n il numero dei triangoli in un grafo di %d vertici e' %d ", V, n);
             }
         infotriang (Grafo,V); 
         
fflush(stdin);
getchar();
}

void creagrafo(int mat[MAX][MAX], int nodo)
{
     int i,j;
    
     for (i=0;i<nodo;i++)
         for (j=0;j<nodo;j++)
           mat[i][j] = 1;
           
for(i=0;i<nodo;i++)
   mat[i][i] = 0;

}
     
void stampagrafo (int mat[MAX][MAX],int nodo)
{
     int i,j,k;
     char a='A';
     char b='A';
     printf("  ");
for (k=0;k<nodo;k++)
    printf(" %c", b++);
     
 for(i=0;i<nodo;i++){
printf("\n %c ",a++);
for(j=0;j<nodo;j++)
printf("%d ",mat[i][j]);
}
}