Informatică, întrebare adresată de NiculiciuEmilian, 9 ani în urmă

va roog ma ajutati la asta ?

Anexe:

Răspunsuri la întrebare

Răspuns de pigwimgs
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();
}


Alte întrebări interesante