IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> графы, на Си
Квин
сообщение 16.02.2007 18:20
Сообщение #1


Гость






Здравствуйте.
Прошу помочь с выполнением такой вот задачи на Си, комилятор visual C.
Дан файл в котором указаны пары вершин графов, связанных между собой
1. заполнить из этого файла двумерный массив ширины n на n, где n - это количество вершин, заполнить так, что если между вершинами есть связь, то в массив на соответствующем пересечении ставим 1, если нет, то ноль. Вот эот массив вывести.

2. построить дерево, по полученному дереву указать все возможные пути в этом графе.

По первому у меня что-то есть, а вот по второму вообще не знаю как и что делать. Очень прошу помочь.



 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 18.02.2007 4:08
Сообщение #2


Гость






Код

#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;
}



вот что есть, и что мне позволили знания,а оставшуюсь вторую часть я совсем осилить не могу, а дело очень горит. помогите плиз...
На счёт вывести дерево, то я не знаю - если это необходимо для решения то наверное, а если нет то на выход вообще то только все пути какие в этом дереве есть. Про граф ничего не сказано, даже мне кажется граф тут употреблено длясловца, т.е. просто задаётся папарное соединение вершин дерева, по этому построить само дерево, а потом вывести все пути возможные в этом дереве - никаких условий специфичных характерных для гарфов, ничего такого нет.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 1:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"