Documente Academic
Documente Profesional
Documente Cultură
#include<stdio.h>
FILE *f;
int i, j;
int x, y;
f = fopen("lista.txt", "r");
if (f != NULL)
a[i][j] = 0;
a[x][y] = a[y][x] = 1;
fclose(f);
void BFS( int x, int n, int a[20][20], int c[20], int viz [20])
for ( i=1;i<=n;i++);
ultim=ultim + 1;
c[ultim] = i;
viz[i] = 1;
int main ()
int n,m;
BFS(1, n, a, c, viz);
if (viz[i]==0)
{
return 0;
//Se dă lista muchiilor unui graf neorientat. Să se afișeze componentele conexe ale acestui graf.
#include<stdio.h>
FILE *f;
int i, j;
int x, y;
f = fopen("lista.txt", "r");
if (f != NULL)
a[i][j] = 0;
a[x][y] = a[y][x] = 1;
fclose(f);
}
void BFS( int x, int n, int a[20][20], int c[20], int viz [20], int nrc)
int i;
viz[x] = nrc;
for ( i=1;i<=n;i++);
ultim=ultim + 1;
c[ultim] = i;
viz[i] = nrc; //in vectorul i vom retine din ce componenta conexa face parte
}
int main ()
int n,m;
if (viz[i]==0)
nrc++;
BFS(i,n,a,c,viz, nrc);
printf("\n");
if (viz[j]==i)
printf ("\n");
#include<stdio.h>
int i, j;
int x, y;
f = fopen("lista.txt", "r");
if (f != NULL)
a[i][j] = 0;
a[x][y] = a[y][x] = 1;
fclose(f);
void BFS( int x, int n, int a[20][20], int c[20], int viz [20])
int i;
viz[x]=1;
for ( i=1;i<=n;i++);
ultim=ultim + 1;
c[ultim] = i;
viz[i] = 1;
viz[x]=1;
for(int i=1;i<=n;i++)
DFS(i,n,a,viz);
int main ()
{
int n,m;
BFS(3, n, a, c, viz);
printf("\n");
for(int i=1;i<=1;i++)
viz[i]=0;
DFS(3,n,a,viz);
#include<stdio.h>
FILE *f;
int i, j;
int x, y;
f = fopen("lista.txt", "r");
if (f != NULL)
a[i][j] = 0;
a[x][y] = a[y][x] = 1;
}
fclose(f);
void DFS (int x, int n, int a[20][20], int viz[20], int nrc)
viz[x]=nrc;
for(int i=1;i<=n;i++)
DFS(i,n,a,viz,nrc);
int main ()
if (viz[i]==0)
{
nrc++;
DFS(i,n,a,viz, nrc);
printf("\n");
if (viz[j]==i)
printf ("\n");
// Se dă lista muchiilor unui graf neorientat. Să se determine numărul de muchii care pot fi
eliminate din graf astfel încât numărul de componente conexe ale grafului să nu se
modifice.
#include<stdio.h>
FILE *f;
int i, j;
int x, y;
f = fopen("lista.txt", "r");
if (f != NULL)
a[i][j] = 0;
a[x][y] = a[y][x] = 1;
fclose(f);
void DFS (int x, int n, int a[20][20], int viz[20], int nrc)
viz[x]=nrc;
for(int i=1;i<=n;i++)
DFS(i,n,a,viz,nrc);
int main ()
{
if (viz[i]==0)
nrc++;
DFS(i,n,a,viz, nrc);
printf("\n");
if (viz[j]==i)
printf ("\n");
*/
for(int i=1;i<=n;i++)
f[viz[i]]++;//prima componenta are 4, a doua 5 etc, cate noduri are fiecare componenta conexa
s=s+f[i]-1;
int x=m-s;