язності та розбиття. Лістинг програми з відповідними коментарями наведено нижче.
Код програми:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>struct list
{number;list *next;
}list;Depth(int v);Width(int v,int n);* AddElem(list *last, int i,int j);**V;* NEW;main()
{();*file;i,j,n,M[10][10],a,v,count=0 ;((file=fopen("input.txt","rb")) == NULL)
{<<"\n\t\t\t\tError open!!!";();(1); }(file,"%d",&n);(i=0;i<n;i++)
*NEW=1;*end,*pel;
/* vydilenya pamyati dlya vkazivnykiv na spysky */= (list**)malloc(n * sizeof (list*));(i=0; i<n;i++)[i] = (list*)malloc(sizeof (list));(i=0;i<n;i++) // obnulennja pokazh4ukiv v kinci spusky[i]=NULL;(i=0;i<n;i++) //formuv spuskiv symizh
{=NULL;(j=0;j<n;j++)
{(file,"%d",&a);[i][j]=a;(a==1)
{=AddElem(end,i,j);
}
}
{=i;=V[v];(pel!=NULL)
{(NEW[v])
{++;(v);("\n\n");
}=pel->next;=pel->number-1;
}
}<<"Kilkist komponent zviaznosti:"<<count;(count>1)<<"\nGraf ne zvyaznyy\n";<<"\nGraf zvyaznyy\n";<<"\n-------------------------------\n";(i=0;i<n;i++)[i]=1;<<"\nWidth search:";=0;(i=0;i<n;i++)
{=i;=V[v];(pel!=NULL)
{(NEW[v])
{++;(v,n);<<"\n\n";
}=pel->next;=pel->number-1;
}
}<<"Kilkist komponent zvyaznosti:"<<count;(count>1)<<"\nGraf ne zvyaznyy\n";<<"\nGraf zvyaznyy\n";<<"\n-------------------------------\n\n";<<"Spuski sumiznosti:"<<endl;(i=0; i<n; i++){<<i+1<<": ";(j=0; j<n; j++){(M[i][j]==1){<<j+1<<" ";}
}<<endl;
}();
}* AddElem(list *last,int i,int j)
{*pel;=(list*)malloc(sizeof(list));>number=j+1;>next=NULL;(V[i]==NULL)[i]=pel;>next=pel;pel;
}Depth(int v)
{u;*pel=V[v];<<v+1<<" ";[v]=0;=pel->number;(pel!=NULL)
{(NEW[u-1])(u-1);=pel->next;=pel->number;
}
{beg,end,*q,i,p,u;*pel;=(int*)malloc(n * sizeof(int));(i=0;i<n;i++)[i]=0;=end=0;[end]=v;++;[v]=0;(beg!=end)
{=q[beg];(i=0;i<end;i++)[i]=q[i+1];-;<<p+1<<" ";=V[p];=pel->number;(pel!=NULL)
{(NEW[u-1])
{[end]=u-1;++;[u-1]=0;
}=pel->next;=pel->number;
}}}
Висновок
Виконуючи дану лабораторну роботу я навчилась програмній роботі з графами, а саме операціям їх зчитування, збереження та обробки у вигляді перевірки на симетричність та орієнтованість. Крім того, було освоєно основи пошуку в графі в двох напрямках: (в глибину і в ширину), а також визначено звязність графу, виконано розбиття множини вершин на класи еквівалентності за відношенням «звязність».