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

> Внимание!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> графы, на Си
сообщение
Сообщение #1


Гость






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

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

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



 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Квин @ 16.02.2007 18:20) *

По первому у меня что-то есть,

Вот и покажи, что есть.
Вторая часть не совсем ясна.. "Построить дерево" - значит вывести его? Два пути, один из которых включает второй - различны? Известно ли что-то заранее про граф? Могут ли в нем быть циклы?..
И последнее: Поиск и FAQ могут помочь..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Код

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



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


Гость






Друзья, ну очень прошу помочь, вот первая чатсь кое как есть, прошу помочь прикрутить к ней второую. Сам не осиливаю и всё...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Насколько я помню дискретную математику, дерево - это частный случай графа (граф без циклов, с четко определенным соотношением числа ребер и вершин).
Что предполагается делать в случае, если предлагаемый граф не удовлетворяет условиям для дерева?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






а можн продолжить? ну т.е. выполнить конечную задачу в независимости от того удовлетворяет ли он условию дерева или нет?
Если да, то очень прошу помочь так сделать...в целом весь разговор о графах, не стоит сильно оглядываться на деревья....
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
т.е. выполнить конечную задачу в независимости от того удовлетворяет ли он условию дерева или нет?

как можно построить дерево, если заданный граф не удовлетворяет условиям дерева?
деревья, кстати, разные бывают...

про построение графов почитай вот здесь
примеры, правда, на паскале, но теория полезная.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






теорию нам дали, я как раз реализовать не могу...если не соответствует, то можно ограничится просто соответствующим предупреждением, но мне ОЧЕНь нужно программа которая выполняла бы конечную задачу в случае если всё впорядке
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Ну так в чем проблема? Со списками работать умеешь?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






ну да вроди умею более или менее, но тем не менее как обойти и всё такео всё равно не соображаю....
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 14:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name