zuzkov1234

Зарегистрирован с 14.06.2020
Комментарии
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;
}
Ответить