Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 379
1

Представление циклического ориентированного графа списком

25.11.2016, 16:26. Показов 1201. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня, форумчане. Скажите, правильно ли я мыслю?
Решил сделать граф в качестве треугольника и написать программу под него. При реализации функции мне в качестве аргументов надо сделать 2 указателя на начало и конец списка, ну и аргумент для передачи значения в список. Потом, чтобы соединить начало и конец списка, я заведу статическую переменную для подсчёта. Всё это будет в цикле, где цикл выполняется пока i < n . И когда эта статическая переменная будет равна n - 1, я конце списка присвою начало списка и выйду.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2016, 16:26
Ответы с готовыми решениями:

Найти все пути, соединяющие две вершины ориентированного графа.
Помогите дописать программу. #include&lt;stdio.h&gt; #include&lt;conio.h&gt; int visited; int A; void...

Построение ориентированного графа
Привет!) Покажу код, то что я делал. На выходе нету расстояний(стоимости). Как добавить...

Рисование ориентированного графа
Я, как нуб, ищу простой способ нарисовать граф с парой доп условий: - ноды должны содержать текст...

Остов не ориентированного графа
Здравствуйте, подскажите, пожалуйста. Дан неориентированный взвешенный граф, нужно построить остов....

2
34 / 33 / 21
Регистрация: 14.11.2016
Сообщений: 141
25.11.2016, 18:10 2
Прочитал пару раз, по описанию, какой-то костыльный аналог кольцевого двусвязного списка.
0
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 379
25.11.2016, 20:30  [ТС] 3
Лучший ответ Сообщение было отмечено Michail97 как решение

Решение

DmiMukh, не очень, но хоть замкнутый цикл сделал.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#define N 3
#define K 9
 
typedef struct Node
{
float top;
struct Node *next;
} Graph;
 
void add_top( Graph **Begin, Graph **End, float value, int i)
{
    Graph *tmp = (Graph*)malloc(sizeof(Graph));
    tmp -> top = value;
    tmp -> next = NULL;
    if( *End ) (*End) -> next = tmp;
    else *Begin = tmp;
    *End = tmp;
    if( i == N - 1) (*End) -> next = *Begin;
}
float ret_value(Graph **end)
{
    float k;
    int ok = 0;
    (*end) = (*end) -> next;
    if( *end ) ok = 1;  // пока есть вершина
        else return -1;
        if(ok) k = (*end) -> top;
    return k;
}
int main(void)
{
    float array[N];
    int i;
    Graph *begin = NULL;
    Graph *end = NULL;
    for( i = 0; i < N; i++)
    {
        printf("[%d] = ", i+1);
        scanf( "%f", &array[i] );
        add_top( &begin, &end, array[i], i);
    }
    for( i = 0; i < K; i++)
        printf( "[%d] = %2.1f ", i+1, ret_value( &end) );
    return 0;
}
0
25.11.2016, 20:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2016, 20:30
Помогаю со студенческими работами здесь

Создание ориентированного графа в Canvas
Помогите) Нужно на форме создавать граф прямо в программе. Ставим точки ЛКМ вручную, а программа...

BFS для ориентированного графа
Имеется граф такого вида. Что непонятно: 1)Как добавлять смежные вершины в очередь для их...

Найти квадрат ориентированного графа
Здравствуйте , помогите, пожалуйста решить задачу по графам: 1.Дан ориентированный граф. Найти...

Автоматическое построение ориентированного графа
Сломал себе мозг, но не могу решить проблему! Необходимо на основе таблицы построить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru