Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <assert.h>
- typedef struct grafo
- {
- int *matrice;
- int *nodi;
- }grafo;
- typedef grafo *pgrafo;
- void inizia (pgrafo k,int size)
- {
- int i;
- for(i=0;i<size;i++)
- {
- printf("Inserie il [%d]NODO: ",i+1);
- scanf("%d",&k->nodi[i]);
- }
- }
- void carica_matrice(pgrafo k,int size)
- {
- int i,j;
- for(i=0;i<size;i++)
- {
- for(j=0;j<size;j++)
- {
- if(j>=i)
- {
- printf("Quanto pesa il collegamento tra [%d] e [%d]",k->nodi[j],k->nodi[i]);
- scanf("%d",&k->matrice[j*size+i]);
- k->matrice[i*size+j]=k->matrice[j*size+i];
- }
- }
- }
- }
- void stampa_nodi(pgrafo k,int size)
- {
- int i,j;
- for(i=0;i<size;i++)
- {
- printf("\n%d ",k->nodi[i]);
- for(j=0;j<size;j++)
- {
- if(k->matrice[i*size+j]!=0)
- {
- printf("- %d ",k->nodi[j]);
- }
- }
- }
- }
- void media(pgrafo k, int size)
- {
- int i,j;
- float media=0;
- for(i=0;i<size;i++)
- {
- for(j=0;j<size;j++)
- {
- media+=k->matrice[i*size+j];
- }
- }
- printf("LA MEDIA E': %5.2f",(media/size));
- }
- int main()
- {
- int size;
- printf("Inserire la quantita di nodi: ");
- scanf("%d",&size);
- pgrafo k;
- k=calloc(1,sizeof(struct grafo));
- k->matrice=calloc(size*size,sizeof(int));
- k->nodi=calloc(size,sizeof(int));
- inizia(k,size);
- carica_matrice(k,size);
- stampa_nodi(k,size);
- media(k,size);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement