Mam problem ponieważ nie zdążę napisać, rozwinąć programów więc potrzebuję pomocy.
1. Potrzebuję program kolorujący podany graf algorytmem LF lub SL.
2.Program w którym użytkownik podaje graf i otrzymuje informację, czy podany graf jest dwudzielny, jeżeli tak to
program zwraca podział zbioru wierzchołków na dwa rozłączne podzbiory - partycje dwudzielności.
Chciałem rozwinąć program aby pokazał czy jest cykl eurela, sprawdzał spójność i wypisywał jego drogę ale na DFS utknąłem
#include <stdio.h>
int read_graph ( int tab[50][50], int n )
{
int i, j;
char reply;
for ( i=1 ; i<=n ; i++ )
{
for ( j=i ; j<=n ; j++ )
{
if ( i==j )
{
tab[i][j] = 0;
tab[j][i] = 0;
continue;
}
printf("\n Wierzcholki %d & %d maja' krawendz ? (Y/N) :",i,j);
while(getchar() != '\n');
scanf("%c", &reply);
if ( reply == 'y' || reply == 'Y' )
{
tab[i][j] = 1;
tab[j][i] = 1;
if( i == j )
tab[i][j] = tab[i][j] +1;
}
else
{tab[i][j] = 0;
}
}
}
return 0;
}
int main()
{
int tab[50][50];
int deg, i, j, n;
printf("\n Ile wierzcholkow ? : ");
scanf("%d", &n);
read_graph(tab, n);
printf("\n Wierzcholek \t Stopien ");
for ( i=1 ; i<=n ; i++ )
{
deg = 0;
for ( j = 1 ; j <= n ; j++ )
if ( tab[i][j] == 1)
deg++;
printf("\n\n %5d \t\t %d\n\n", i, deg);
}
return 0;
}