#include<iostream.h> /**daca dupa parcurgere mai sunt noduri nevizitate
int a[20][20], viz[20], i,j,n,m,pl,ok,x,y; atunci graful e format din mai multe componente conexe void parc_adanc(int pl) altfel e format dintr-o singura componenta conexa, deci graful { e conex**/ int j; for(i=1;i<=n;i++) viz[pl]=1; if(viz[i]==0) //se verifica daca mai sunt noduri neviz for(j=1;j<=n;j++) ok=1; if((a[pl][j]==1) && (viz[j==0])) parc_adanc(j); if(ok) cout<<"graful e format din mai multe componente conexe"<<endl; } else cout<<"graful e conex"<<endl; //fct ce returneaza grd unui nod //afisare grad nod int grad(int i) for(i=1;i<=n;i++) { cout<<"varful"<<i<<"are gradul"<<grad(i)<<endl; int s=0,j; } for(j=1;j<=n;j++) s+=a[i][j]; return s; } void main() { cout<<" noduri n="; cin>>n; cout<<"muchii m="; cin>>m; for(i=1;i<=m;i++) { cout<<"x=";cin>>x; cout<<"y=";cin>>y; a[x][y]=1; a[y][x]=1; }
for (i=1;i<=n;i++) viz[i]=0; cout<<"nod de plecare=";cin>>pl; parc_adanc(pl); ok=0; //nu mai sunt noduri nevizitate