Jump to content

Търся задача на C/C++


Препоръчан пост

Здравейте! Търся решение на задача написана на C/C++ , paskal. Условието е: Да се състави програма, реализираща излизане от лабиринт. Лабиринтът е зададен като матрица A[40,40], в която A[i,j]=0, ако клетката е проходима, и A[i,j]=1, ако клетката е не проходима. Началното положение е в произволна проходима клетка. Изходът също е в произволна проходима клетка, която е гранична, т.е. i или j са равни на 1 или 40. Обхождането да бъде реализирано посредством обхождане в дълбочина. Да се намери най-краткия път от излизане от лабиринта, ако има повече от един изход.

 

аз имам примерни решения за самия алгоритъм но за масива немие ясно?

//Алгоритъм за обхождане в дълбочина на неориентиран граф
const int nmax=80;
const int kmax=nmax*(namx-1)/2;
struct listel
{
 liste*next;
 int vertex;
};
typedef listel* tnchl[nmax];
struct tgr_semi
{
 int nvert;
 int nedg;
 tnc hl begl;
};
  int i=0;
  void dfs (tgr_semi g, int , listel * dfsnum[])
  {
listel*p;
dfsnum[u]->vertex=i;
i++;
p=g.begl[u];
  while (p!=NULL)
  {
 u=p->vertex;
 p=p->next;
 if(dfsnum[u]->vertex==0)
 dfs(g,u,dfsnum);
  }

Link to comment
Сподели другаде

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...