14 июня 2020
Обе задачи в плюсах
#include<iostream>
using namespace std;
class ROBOT
{
public:
ROBOT(): nap(0),krug(0),x(0),y(0) {}
int nap;
int krug;
int x;
int y;
};
int main(void)
{
cout<<"Тип игры:"<<endl<<"1 - змейка"<<endl<<"2 - зиккурат"<<endl;
int tip_igry;
cin>>tip_igry;
cout<<"размер:"<<endl;
int n;
cin>>n;
int arr[n][n];
int count=1;
ROBOT robot;
for(int schet=0;schet<n*n;schet++)
{
switch(robot.nap)
{
case 0:
arr[robot.x++][robot.y]=count++;
if(robot.x+1 == n-robot.krug) robot.nap++;
break;
case 1:
arr[robot.x][robot.y++]=count++;
if(robot.y+1 == n-robot.krug) robot.nap++;
break;
case 2:
arr[robot.x--][robot.y]=count++;
if(robot.x == robot.krug) robot.nap++;
break;
case 3:
arr[robot.x][robot.y--]=count++;
if(robot.y == 1+robot.krug) robot.nap++;
break;
}
if(tip_igry-1)
count=robot.krug+1;
if(robot.nap>3)
{
robot.nap=0;
robot.krug++;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<arr[j][i]<<' ';
cout<<endl;
}
return 0;
}
Ответить
Пожаловаться