Sunteți pe pagina 1din 2

#include <stdio.

h>
#include <conio.h>

int a[20][20], viz[20], i, n, pl, j, m, x, y;

void parc_adancime(int pl)


{
int j;
printf("Nod vizitat=%d \n", pl);
viz[pl] = 1; //marcheaza nod vizitat
for (j = 1; j <= n; j++)
if ((viz[pl] = 0) && (a[pl][j] = 1)) //pt fiecare nod nevizitat
parc_adancime(j); //se autoapeleaza functia de parcurgere
}

void main()
{
printf("Nr de varfuri ");
scanf_s("%d", &n);
printf("Nr de muchii ");
scanf_s("%d", &m);

for (i = 1; i <= m; i++)


{
printf("x=");
scanf_s("%d", &x);

printf("y=");
scanf_s("%d", &y);

a[x][y] = 1;
a[y][x] = 1;

for (i = 0; i <= n; i++)


viz[i] = 0; //nodurile nu sunt vizitate

printf("Nodul de plecare ");


scanf_s("%d", &pl);
parc_adancime(pl);
_getch();