如何使用C# 语言实现螺旋加上蛇形的矩阵动态生成?当n=4时,矩阵如此
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/16 10:26:49
如何使用C# 语言实现螺旋加上蛇形的矩阵动态生成?当n=4时,矩阵如此
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
其中螺旋部分是1 2 3 4
9 10 5
8 6
7
蛇形部分是
11
15 12
16 14 13
大家注意这里,我的意思是用c# 语言实现螺旋加上蛇形矩阵的动态生成,就是一个矩阵中包含两个部分,当n=4时,
整个矩阵:
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
蛇形部分 11
15 12
16 14 13
螺旋部分1 2 3 4
9 10 5
8 6
7
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
其中螺旋部分是1 2 3 4
9 10 5
8 6
7
蛇形部分是
11
15 12
16 14 13
大家注意这里,我的意思是用c# 语言实现螺旋加上蛇形矩阵的动态生成,就是一个矩阵中包含两个部分,当n=4时,
整个矩阵:
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
蛇形部分 11
15 12
16 14 13
螺旋部分1 2 3 4
9 10 5
8 6
7
哎,好久没弄算法了搞了挺久才算给弄出来了,未经优化代码如下:
int n = 4;
int t = n;
int max=n*n;
int row = 0, col = 0;
int m = (max - n) / 2 + n;//螺旋的最大值
int[,] result = new int[t,t];
bool flag = true;//对角标志
for (int i = 1; i = n - 2 ? n - 2 : col] == 0) {//斜向下对角
result[row,col] = i;
row++;
col++;
continue;
}
//斜向上对角
if (flag) {
col--;
}
flag = false;
row--;
col--;
if (col >= 0)
result[row,col] = i;
else {//到达最左边,折返
row = row + 2;
col++;
flag = true;
i--;
}
}
//输出结果
int r = 0;
String temp = " ";
for (int j = 0; j < t; j++) {
for (int k = 0; k < t; k++) {
temp = " ";
r = result[j,k];
if (r < 10)
temp += " ";
Console.Write(r + temp);
}
Console.WriteLine();
}
Console.WriteLine("按任意键退出");
Console.ReadLine();
int n = 4;
int t = n;
int max=n*n;
int row = 0, col = 0;
int m = (max - n) / 2 + n;//螺旋的最大值
int[,] result = new int[t,t];
bool flag = true;//对角标志
for (int i = 1; i = n - 2 ? n - 2 : col] == 0) {//斜向下对角
result[row,col] = i;
row++;
col++;
continue;
}
//斜向上对角
if (flag) {
col--;
}
flag = false;
row--;
col--;
if (col >= 0)
result[row,col] = i;
else {//到达最左边,折返
row = row + 2;
col++;
flag = true;
i--;
}
}
//输出结果
int r = 0;
String temp = " ";
for (int j = 0; j < t; j++) {
for (int k = 0; k < t; k++) {
temp = " ";
r = result[j,k];
if (r < 10)
temp += " ";
Console.Write(r + temp);
}
Console.WriteLine();
}
Console.WriteLine("按任意键退出");
Console.ReadLine();
如何使用C# 语言实现螺旋加上蛇形的动态生成矩阵?n随机取数.
在Windows环境下用C#语言编写N*N 通用方阵,要求是左下三角是蛇形矩阵,右上三角顺时螺旋
如何C#实现矩阵的加法
求C语言程序,N*N的螺旋矩阵.
pascal语言蛇形矩阵程序 如下 :
c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数
C语言,输出4*4的螺旋矩阵.
一道螺旋矩阵的C语言题!
给定整数N,请输出蛇形矩阵
已知矩阵n*n矩阵B=A*A',A为n*r矩阵,求解A矩阵,matlab如何实现
JAVA编程9.蛇形矩阵:生成一个按蛇形方式排列自然数1,2,3,4,5,……,N2的 (1
一个5x5的螺旋矩阵如下所示,C语言编写程序输出N x N的螺旋矩阵 (N