Здравствуйте ))) Помогите пожалуйста. Нужно написать программу поиска в глубину и в ширину.

В коде где то ошибка. Помогите кто может, буду очень благодарен))
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
void Stack(int *,int);
void Vertex(int *,int);
void Delete(int *,int);
int *A=0;
struct graf
{
int first;
int second;
};
void main()
{
bool k;
int m,n,i,val,b,*A,*V;
setlocale( LC_ALL, "rus" );
graf g[10];
printf("\n\t Введите количество вершин: ");
scanf("%d",&n);
printf("\n\t Введите количество ребер: ");
scanf("%d",&m);
A=(int *)calloc(n, sizeof(int));
V=(int *)calloc(n, sizeof(int));
for(i=0;i<n;i++)
A[i]=(int )calloc(n, sizeof(int));
for(i=0;i<n;i++)
V[i]=(int )calloc(n, sizeof(int));

printf("\n\t Введите через пробел имя первой вершины и имя второй вершины, смежной с первой: \n");
for(i=0;i<m;i++)
scanf("%d %d", &g[i].first, &g[i].second);
printf("\t Граф: \n\t");
for(i=0;i<m;i++)
printf("%d) %d %d\n\t",i+1,g[i].first,g[i].second);
printf("\n\t Введите начальную вершину, с которой хотите начать поиск: ");
scanf("%d",&val);
printf("\n\t Введите конечную вершину, в которой хотите закончить поиск: ");
scanf("%d",&b);
Stack(A,val);
Vertex(V,val);
for(i=0;i<1;i++)
printf("\n\t Стек1: %d",A[i]);
do
{
if(val==b)
{
printf("\n\t Вершина %d найдена",b);
break;
}
else
{
k=false;
for(i=0;i<m;i++)
if((g[i].first==val)||(V[val]!=1)||(val!=b))
{
val=g[i].second;
Stack(A,val);
Vertex(V,val);
k=true;
}
for(i=0;i<m;i++)
if((g[i].second==val)||(V[val]!=1)||(val!=b))
{
val=g[i].first;
Stack(A,val);
Vertex(V,val);
k=true;
}
if(!k)
Delete(A,val);
}
}
while(val==b);
system("pause");
}
void Stack(int *A,int val)
{
int SP=0;
A[SP]=val;
SP++;
printf("\n\t В стек добавлена вершина %d",val);
}
void Vertex(int *V,int val)
{
V[val]=1;
}
void Delete(int *A,int val)
{
int SP;
A[SP]=0;
SP--;
}

Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
ЛУЧШИЙ ОТВЕТ
@
Советник (4304)
Могу только в высоту.))
ЕЩЕ ОТВЕТЫ
Наставник (30730)
Вы хотя бы рисунок привели бы, чтобы лучше по6ять то, что Вы задумали. Кстати вопрос можно разместить и в категории программирование. Вполне подходит!