Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
// grayrat3.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include "iostream.h"
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "time.h"
#include "stdlib.h"
const n=5,x=n-1,y=n-1,st=0;
int ar[n][n];
int i,j,k,l,i1;
void ggg(void)
{int i,j;
for(i=0;i<n;i++)
{
cout<<endl;
for(j=0;j<n;j++)
printf("%d ",ar[i][j]);
};
cin>>i;
}
void main(void)
{
k=1;
{
time_t t;
srand(time(&t));
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
ar[i][j]=0;
for(i=1;i<n*2;i++) ar[rand()%n][rand()%n]=1;
ar[0][0]=2;
ggg();
for(l=0;l<int((n+1)*(n/2+1));l++)
{k++;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(ar[i][j]==k)
{ i1=k;
if((i > 0)&&(j > 0)&&(ar[i-1][j-1]==st)) ar[i-1][j-1]=k+1;
if((i > 0)&&(j<n-1)&&(ar[i-1][j+1]==st)) ar[i-1][j+1]=k+1;
if((i<n-1)&&(j<n-1)&&(ar[i+1][j+1]==st)) ar[i+1][j+1]=k+1;
if((i<n-1)&&(j > 0)&&(ar[i+1][j-1]==st)) ar[i+1][j-1]=k+1;
if((j > 0)&&(ar[i ][j-1]==st)) ar[i ][j-1]=k+1;
if((j<n-1)&&(ar[i ][j+1]==st)) ar[i ][j+1]=k+1;
if((i > 0)&&(ar[i-1][j ]==st)) ar[i-1][j ]=k+1;
if((i<n-1)&&(ar[i+1][j ]==st)) ar[i+1][j ]=k+1;
}
}
if(ar[y][x]>1) cout<<"za "<<ar[y][x]-2<<" hodov iz labirinta videt "<<endl;
if((ar[y][x]==st)||(ar[y][x]==1)) cout<<endl<<"vihoda net";
ggg();
cin>>i;
}
Соседние файлы в папке ООП_ЭТМО