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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Задача с граф

Featured Replies

Здравейте! Нужна ми е помощ за следната функция за показване и преброяване на изолираните върхове в граф.

#include<iostream>

using namespace std;
// bool tree=true;
struct folEl{
    
int key;
    
struct folEl *next;
};


struct elem{
    
int key;
    
struct folEl *el;
    
struct elem *next;
    
short visited;
}*
p;


void insertElem(int k){
    if(!
p)
    {
    
p=new elem;
    
p->key=k;
    
p->next=NULL;
    
p->el=NULL;
    
p->visited=0;
    }
    else
    {
        
elem *a=p;
        while(
a->next!=NULL)
        {
            
a=a->next;
        }
        
elem *temp=new elem;
        
temp->key=k;
        
temp->next=NULL;
        
temp->el=NULL;
        
temp->visited=0;
        
a->next=temp;
    }
}


void printGraph()
{
    
cout<<"\n Elementite sa: "<<endl;
    
elem *a=p;
    while(
a)
    {
        
cout<<" "<<a->key<<"->";
        
            
folEl *z=a->el;
            while(
z)
            {
                
cout<<" "<<z->key<<" ";
                
z=z->next;
            }
            
a=a->next;
            
cout<<endl;
    }
    
cout<<endl;
}


void addF(elem *q,int k)
{
    if(!
q->el)
    {
        
folEl *temp=new folEl;
        
temp->key=k;
        
temp->next=NULL;
        
q->el=temp;
    }
    else
    {
        
folEl *p=q->el;
        while(
p->next)
        {
            
p=p->next;
        }
        
folEl *temp=new folEl;
        
temp->next=NULL;
        
temp->key=k;
        
p->next=temp;
    }
}


elem *checkExist(int k)
{
    
elem *a=p;
    while(
a)
    {
        if(
a->key==k)
            return 
a;
        
a=a->next;
    }
    return 
NULL;
}


void add()
{
    
int a;
    
int n=0;

    do
    {
    
cout<<"\n Vuvedi element "<<n+1<<": ";
    
cin>>a
        if(
a!=0)
        {    
            if(!
checkExist(a))
            {
                
insertElem(a);
                
n++;
            }
            else 
cout<<"\n Element ("<<a<<") veche sushestvyva!"<<endl;
        }
    }while(
a!=0);

    
elem *q=p;
    while(
q)
    {
        
folEl *e=new folEl;
        
cout<<"\n Vuvedi vruzka na elem (0 za izhod)\n Vuvedi "<<q->key<<" -> ";
        
cin>>a;
        while(
a!=0)
        {
            
cout<<"\n Vuvedi "<<q->key<<" -> ";
            
addF(q,a);
            
cin>>a;
        }
        
q=q->next;
    }
}




int main()
{
    
cout<<"\n Vuvedete elementite v grafa."<<endl;
    
add();
    
printGraph();
   cout<<endl;
    
system("pause");
    return 
0;
}  

 

 

Остана ми само да завърша функцията. Благодаря предварително ! 

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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