Documente Academic
Documente Profesional
Documente Cultură
Tema Grafuri-Conex
Tema Grafuri-Conex
-conexitate-
void lant_elementar()
{int i,j,okl=1;
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(r[i]==r[j])
okl=0;
if(ok==1)
cout<<”Este lanț elementar”;
else
cout<<”Nu este lanț elementar”;
}
int main ()
{int x;
Cin>>x;
citire ();
void lant(x);
if(ok==1);
cout<<”Este lant”;
else
cout<<”Nu este lant”;
void retine_lant ();
void lant_elementar();
return 0;
int n,m,a[101][101],viz[101];
void citire ()
{ int i,j;
cin>>n;
for( i=1; i<=n-1;i++)
for(j=i+1;j<=n;j++)
{cin>>a[i][j];
a[j][i]=a[i][j];}
void DFS(int x)
{ int i;
viz[x]=1;
for(i=1;i<=n;i++)
if (a[x][i]==1 && viz[i]==0) DFS(i);
}
int Conex()
{ int i;
DFS(1);
for(i=1;i<=n;i++)
if (viz[i]==0) return 0;
return 1;
}
int main()
{ int x;
cin>>x;
if(conex==1)
cout<<”Graful este conex”;
else
cout<<”Graful nu este conex”;
return 0;
3. Se dă un graf. Să se afișeze componentele conexe dacă graful
nu este conex.
#include <iostream>
using namespace std;
int n,m,a[100][100],viz[100],nrcomp;
void citire ()
{ int i,j;
cin>>n;
for( i=1; i<=n-1;i++)
for(j=i+1;j<=n;j++)
{cin>>a[i][j];
a[j][i]=a[i][j];}
void DFS(int x)
{ int i;
viz[x]=nrcomp;
for(i=1;i<=n;i++)
if (a[x][i]==1 && viz[i]==0) DFS(i);
}
int conex()
{ int i;
DFS(1);
for(i=1;i<=n;i++)
if (viz[i]==0) return 0;
return 1;
}
void conex_componente ()
{ int i;
for(i=1;i<=n;i++)
if (viz[i]==0) { nrcomp++; DFS(i);}
}
void afisare_conexe()
{ int i,j;
for(i=1;i<=nrcomp;i++)
{ fout<<"Componenta "<<i<<": ";
for(j=1;j<=n;j++)
if (viz[j]==i) fout<<j<<" ";
fout<<endl;
}
}
int main()
{ int x;
cin>>x;
if(conex==1)
{conex_componente ();
afisare_conexe();}
return 0;}