ВУЗ:
Составители:
Рубрика:
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
scanf("%d",&x);
scanf("%d",&y);
if(x>=1 && x<=m && y>=1 && y<=n)
if(a[x-1][y-1]==0)
f=0;
else printf("Путник замурован в стену.\n
Введите координаты внутри
коридора.\n");
else
printf("Введите координаты внутри
лабиринта.\n");
}
x--; y--;
f=Labirint(a,m,n,x,y,x,y);// вызов функции
if(f==1)
printf("Выход есть!!!\n");
else
printf("Выхода нет!!!\n");
for(i=0;i<m;i++)
delete [] a[i];
delete [] a;
}
// определение функции поиска выхода из лабиринта
int Labirint(int** a, int m,int n,int x,int y,
int xprev, int yprev)
{
// отмечаем пройденную ячейку
a[x][y]=2;
// печать координат пройденной ячейки
printf("%d %d\n",x,y);
// условие выхода из рекурсии –
// выход из лабиринта найден
if(x==0 || y==0 || x==m-1 || y==n-1)
return 1;
int f=0;// значение f равно 1, если выход найден, и
// 0, в противном случае
// попытка перейти в ячейку, расположенную внизу
if(a[x+1][y]==0 && !(x+1==xprev && y==yprev))
f=Labirint(a,m,n,x+1,y,x,y); // рекурсивный вызов
48
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
scanf("%d",&x);
scanf("%d",&y);
if(x>=1 && x<=m && y>=1 && y<=n)
if(a[x-1][y-1]==0)
f=0;
else printf("Путник замурован в стену.\n
Введите координаты внутри
коридора.\n");
else
printf("Введите координаты внутри
лабиринта.\n");
}
x--; y--;
f=Labirint(a,m,n,x,y,x,y);// вызов функции
if(f==1)
printf("Выход есть!!!\n");
else
printf("Выхода нет!!!\n");
for(i=0;iСтраницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
