Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "graf.h"
- FILE *f;
- #define MAX 10
- int N, M, k;
- Graf *a[MAX] ;
- int adauga_arc(Graf *D[MAX], int n1, int n2)
- {
- Graf *p;
- if(!(p=(Graf*)malloc(sizeof(Graf))))
- return 0;
- p->info=n2;
- p->next=D[n1];
- D[n1]=p;
- return 1;
- }
- void creeaza(Graf *D[MAX], char * nume_fisier)
- {
- printf("Introduce-ti numele fisierului: ");
- scanf("%s",nume_fisier);
- if ((f = fopen(nume_fisier, "r")) == NULL)
- {
- printf("Eroare \n");
- exit(-1);
- }
- //creaza graf
- fscanf(f,"%d %d", & N, &M);
- int n1, n2;
- for(k=0; k<M; k++)
- {
- fscanf(f,"%d%d", &n1, &n2);
- if( ! ( adauga_arc(D,n1,n2) && adauga_arc(D, n2, n1)) )
- {
- printf("eroare");
- return ;
- }
- }
- }
- int arbore(Graf * G[MAX])
- {
- Graf *p;
- int i,nr=0;
- int viz[MAX]={0};
- if(M==N-1)
- {
- for(i=1;i<=N;i++)
- { for(p=G[i];p!=NULL;p=p->next)
- if(viz[p->info]==0)
- { viz[p->info]=1;
- nr++;}
- }
- if(nr!=N) {printf("Graful nu este arbore deoarece nu este conex");return 0;}
- else printf("Graful este arbore");
- }
- else printf("Graful nu este arbore deoarece are cicluri");
- return 0;
- }
Add Comment
Please, Sign In to add comment