发autodesk矩阵题答案$autodesk$
10-15 23:59:20
来源:http://www.qz26.com 笔试题目 阅读:8510次
导读: #include "iostream"using namespace std;#define RIGHT 1#define DOWN 2#define LEFT 3#define UP 4int judge(int step, int walk, int flag){if( walk switch(flag){case RIGHT:return DOWN;case DOWN:return LEFT;case LEFT:return UP;case UP:return RIGHT;}}void matrix(int N){int length = N * N;int *p = new int[length];int flag = RIGHT;int step = N;int count = 0;int walk = -1;for(int i = 0 ; i {walk = 1;int newflag = judge(step , walk , flag);if(flag != newf
发autodesk矩阵题答案$autodesk$,标签:银行笔试题目,企业笔试题目,http://www.qz26.com
#include "iostream"
using namespace std;
#define RIGHT 1
#define DOWN 2
#define LEFT 3
#define UP 4
int judge(int step, int walk, int flag)
{
if( walk < step )return flag;
switch(flag)
{
case RIGHT:
return DOWN;
case DOWN:
return LEFT;
case LEFT:
return UP;
case UP:
return RIGHT;
}
}
void matrix(int N)
{
int length = N * N;
int *p = new int[length];
int flag = RIGHT;
int step = N;
int count = 0;
int walk = -1;
for(int i = 0 ; i < length ; i )
{
walk = 1;
int newflag = judge(step , walk , flag);
if(flag != newflag)
{
count = 1;
flag = newflag;
walk = 0;
if( (count 1) % 2 == 0 )
{
step -= 1;
}
}
switch(flag)
{
//right
case RIGHT:
if(i == 0)
p[i] = 0;
else
p[i] = p[i - 1] 1;
break;
//down
case DOWN:
p[i] = p[i - 1] N;
break;
//left
case LEFT:
p[i] = p[i - 1] - 1;
break;
//up
case UP:
p[i] = p[i - 1] -N;
}
}
int *tmp = new int[length];
for(int j = 0; j < length; j )
{
tmp[p[j]] = j 1;
}
for(j = 0; j < length; j )
{
cout << tmp[j] << " ";
if( ((j % N) == (N - 1)) )cout << "
";
}
}
void main()
{
matrix(7);
system("pause");
}
#include "iostream"
using namespace std;
#define RIGHT 1
#define DOWN 2
#define LEFT 3
#define UP 4
int judge(int step, int walk, int flag)
{
if( walk < step )return flag;
switch(flag)
{
case RIGHT:
return DOWN;
case DOWN:
return LEFT;
case LEFT:
return UP;
case UP:
return RIGHT;
}
}
void matrix(int N)
{
int length = N * N;
int *p = new int[length];
int flag = RIGHT;
int step = N;
int count = 0;
int walk = -1;
for(int i = 0 ; i < length ; i )
{
walk = 1;
int newflag = judge(step , walk , flag);
if(flag != newflag)
{
count = 1;
flag = newflag;
walk = 0;
if( (count 1) % 2 == 0 )
{
step -= 1;
}
}
switch(flag)
{
//right
case RIGHT:
if(i == 0)
p[i] = 0;
else
p[i] = p[i - 1] 1;
break;
//down
case DOWN:
p[i] = p[i - 1] N;
break;
//left
case LEFT:
p[i] = p[i - 1] - 1;
break;
//up
case UP:
p[i] = p[i - 1] -N;
}
}
int *tmp = new int[length];
for(int j = 0; j < length; j )
{
tmp[p[j]] = j 1;
}
for(j = 0; j < length; j )
{
cout << tmp[j] << " ";
if( ((j % N) == (N - 1)) )cout << "
";
}
}
void main()
{
matrix(7);
system("pause");
}
Tag:笔试题目,银行笔试题目,企业笔试题目,求职笔试面试 - 笔试题目
下一条:反应能力