Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за задача с граф

Featured Replies

Здравейте! Може ли някой да ми помогне със следната задача: Да се състави функция,която връща максималната(минималната) ключова стойност на връх на даден граф.

Засега съм направил следните основни функции:

#include <iostream> 
using namespace std;


int const n = 10;

struct link{
    char key;
    link *next;
}*G[n];

void init()
{
    for (int i = 0; i<n; i++)
        G = NULL;
}

int srch_node(link *g[n], char c)
{
    int flag = 0;
    for (int i = 0; i<n; i++)
    {
        if (g)
        if (g->key == c)
            flag = 1;
    }
    return flag;
}

int srch_arc(link *g[n], char c1, char c2)
{
    int flag = 0;
    if ((srch_node(g, c1) && srch_node(g, c2)))
    {
        int i = 0;
        while (g->key != c1)
            i++;
        link *p = g;
        while ((p->key != c2) && (p->next))
            p = p->next;
        if (p->key == c2)
            flag = 1;
    }
    return flag;
}

void add_node(link *g[n], char c)
{
    if (srch_node(g, c))
        cout << "\n Vurhut sushtestyva! \n";
    else
    {
        int j = 0;
        while (g[j] && j<n)
            j++;
        if (g[j] == NULL)
        {
            g[j] = new link;
            g[j]->key = c;
            g[j]->next = NULL;
        }
        else
            cout << "\n Overflow \n";
    }
}

void add_arc(link *g[n], char c1, char c2)
{
    if (srch_arc(g, c1, c2))
        cout << "\n Dugata sushtestyva";
    else
    {
        if (!srch_node(g, c1))
            add_node(g, c1);
        if (!srch_node(g, c2))
            add_node(g, c2);
        int i = 0;
        while (g->key != c1)
            i++;
        link *p = new link;
        p->key = c2;
        cout << "\n dobavqne v " << c1 << "-->" << c2;
        p->next = g->next;
        g->next = p;
    }

}

void del_node(link *g[n], char c)
{
    if (srch_node(g, c))
    {
        int i = 0;
        while (g->key != c)
            i++;
        while (g)
        {
            link *p = g;
            g = g->next;
            delete p;
        }
        for (i = 0; i<n; i++)
        {
            if (g)
            {
                link *p1 = g, *q;
                while ((p1->key != c) && (p1->next))
                {
                    q = p1;
                    p1 = p1->next;
                }
                q->next = p1->next;
                delete p1;
            }
        } // for 

    } //if 
    else
        cout << "\n Vurhut ne sushtestvyva!\n";
}

void del_arc(link *g[n], char c1, char c2)
{
    if (srch_arc(g, c1, c2))
    {
        int i = 0;
        while (g->key != c1)
            i++;
        link *p = g, *q;
        while (p->key != c2)
        {
            q = p;
            p = p->next;
        }
        q->next = p->next;
        delete p;
    }
    else
        cout << "\n Dugata ne sushtestvyva!\n";
}

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.