Код
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "filework.h"
int *mkarray(int n)
{
int i,g;
int *mas;
mas=(int*)malloc(sizeof(int)*n*n);
for(i=0;i<n;i++)
{
for(g=0;g<n;g++)
{
mas[i*n+g]=0;
}
}
return mas;
};
int* readfile(int *n)
{
int s1, s2;
int *mas;
FILE *stream;
if( (stream = fopen( "c:/input.txt", "r" )) != NULL )
{
fscanf(stream,"%d",n);
mas=mkarray(*n);
while(!feof(stream))
{
fscanf(stream,"%d %d", &s1, &s2);
mas[s1* *n+s2]=1;
mas[s1+s2* *n]=1;
}
fclose(stream);
}
return mas;
};
_____________________________________
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include "filework.h"
int main()
{
int *p;
int i,g,n;
p=readfile(&n);
for(i=0;i<n;i++)
{
for(g=0;g<n;g++)
{
printf("%d ",p[i*n+g]);
}
printf("\n");
}
return 0;
}
вот что есть, и что мне позволили знания,а оставшуюсь вторую часть я совсем осилить не могу, а дело очень горит. помогите плиз...
На счёт вывести дерево, то я не знаю - если это необходимо для решения то наверное, а если нет то на выход вообще то только все пути какие в этом дереве есть. Про граф ничего не сказано, даже мне кажется граф тут употреблено длясловца, т.е. просто задаётся папарное соединение вершин дерева, по этому построить само дерево, а потом вывести все пути возможные в этом дереве - никаких условий специфичных характерных для гарфов, ничего такого нет.