Cod sursa(job #1446297)

Utilizator banamaria95Borcea Ana-Maria banamaria95 Data 1 iunie 2015 13:11:09
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.27 kb
#include <iostream>

using namespace std;
int n,m,viz[20];
struct nod
{
    int info;
    nod *next;
} *l[20];
void afisare(int k)
{
    nod *p;
    p=l[k];
    if(p==NULL) cout<<"Nodul "<<k<<" este izolat";
    else
    {
        cout<<"Lista nodurilor adiacente cu "<<k<<" este: ";
        nod *c=p;
        while (c!=NULL)
        {cout<<c->info<<" ";
        c=c->next;}
        cout<<endl;
    }
}
void df_l(int k)
{   nod *p;
    cout<<k<<" ";
    viz[k]=1;
    p=l[k];
    for(p=l[k];p!=NULL;p=p->next)
        if(viz[p->info]==0) df_l(p->info);

}
int main()
{   int i,j,x,y;
    nod *p,*q;
    cout<<"Introduceti numarul de noduri n: ";
    cin>>n;
    cout<<"Introduceti numarul de muchii m: ";
    cin>>m;
    for(i=1;i<=m;i++)
    {
        cout<<"Introduceti muchia cu capetele x si y: ";
        cin>>x>>y;
        p=new nod;
        p->info=y;
        p->next=l[x];
        l[x]=p;
        q=new nod;
        q->info=x;
        q->next=l[y];
        l[y]=q;
    }
    for(i=1;i<=n;i++)
        afisare(i);
        cout<<endl;
    for(i=1;i<=n;i++)
    {
        cout<<"Parcurgerea df din nodul "<<i<<" este: ";
        df_l(i);
        cout<<endl;
        for(j=1;j<=n;j++)
            viz[j]=0;
    }
    return 0;
}