va roog ma ajutati la asta ?
Anexe:
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <fstream>
#define nn 500
using namespace std;
ifstream f("componenteconexe.in");
ofstream g("componenteconexe.out");
int a[nn][nn],viz[nn],n,i,j,x,t;
void DF(int x)
{ int i;
viz[x]=t;
for(i=1;i<=n;i++)
if (a[x][i]==1 && viz[i]==0) DF(i);
}
void ComponenteConexe()
{ int i;
for(i=1;i<=n;i++)
if (viz[i]==0) { t++; DF(i);}
g<<t<<endl;
}
void AfisareComponenteConexe()
{ int i,j;
for(i=1;i<=t;i++)
{
for(j=1;j<=n;j++)
if (viz[j]==i) g<<j<<" ";
g<<endl;
}
}
int main()
{f>>n;
while(f>>i>>j)
{
a[i][j]=a[j][i]=1;
}
ComponenteConexe();
AfisareComponenteConexe();
}
#include <fstream>
#define nn 500
using namespace std;
ifstream f("componenteconexe.in");
ofstream g("componenteconexe.out");
int a[nn][nn],viz[nn],n,i,j,x,t;
void DF(int x)
{ int i;
viz[x]=t;
for(i=1;i<=n;i++)
if (a[x][i]==1 && viz[i]==0) DF(i);
}
void ComponenteConexe()
{ int i;
for(i=1;i<=n;i++)
if (viz[i]==0) { t++; DF(i);}
g<<t<<endl;
}
void AfisareComponenteConexe()
{ int i,j;
for(i=1;i<=t;i++)
{
for(j=1;j<=n;j++)
if (viz[j]==i) g<<j<<" ";
g<<endl;
}
}
int main()
{f>>n;
while(f>>i>>j)
{
a[i][j]=a[j][i]=1;
}
ComponenteConexe();
AfisareComponenteConexe();
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Engleza,
9 ani în urmă
Geografie,
9 ani în urmă