Pagini recente » Cod sursa (job #2511312) | Cod sursa (job #2300528) | Cod sursa (job #1457136) | Cod sursa (job #419795) | Cod sursa (job #1076049)
#include<iostream>
#include<fstream>
using namespace std;
struct muchii{int x,y;};
muchii muchie[100];
int vizitat[100];
int m,n;
int nr=0;
void citire()
{
int i;
ifstream f("muchii.txt");
f>>n;
f>>m;
for(i=1;i<=m;i++)
{
f>>muchie[i].x;
f>>muchie[i].y;
}
f.close();
}
void afisare()
{
int i,j;
cout<<"Graful are "<<m<<" muchii";
cout<<"\nMuchiile grafului sunt: \n{";
for(i=1;i<=m;i++)
cout<<"("<<muchie[i].x<<","<<muchie[i].y<<") ";
cout<<"}";
}
void Viziteaza(int start)
{
vizitat[start]=1;
int i;
for(i=0;i<n;i++)
{
if(vizitat[muchie[start].y]==0)
Viziteaza(muchie[start].y);
}
}
void DFS()
{
int i;
for(i=1;i<=n;i++)
{
if(vizitat[i]==0)
{
Viziteaza(i);
nr++;
}
}
}
int main()
{
int i;
citire();
afisare();
for(i=0;i<=n;i++)
vizitat[i]=0;
DFS();
cout<<"\n\nNumarul de componente conexe este: "<<nr;
return 0;
}