Sunteți pe pagina 1din 1

GRAFURI

#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

S-ar putea să vă placă și