如何使用C# 语言实现螺旋加上蛇形的动态生成矩阵?n随机取数.
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/15 14:16:13
如何使用C# 语言实现螺旋加上蛇形的动态生成矩阵?n随机取数.
例如当n=4 ,矩阵是这样的 1 2 3 4 11 9 10 5 1512 8 6 16 14 13 7
其中螺旋部分是
1 2 3 4
9 10 5
8 6
7
蛇形是这样的
11
1512
1614 13
整个矩阵
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
紧急紧急!
例如当n=4 ,矩阵是这样的 1 2 3 4 11 9 10 5 1512 8 6 16 14 13 7
其中螺旋部分是
1 2 3 4
9 10 5
8 6
7
蛇形是这样的
11
1512
1614 13
整个矩阵
1 2 3 4
11 9 10 5
15 12 8 6
16 14 13 7
紧急紧急!
static void Main(string[] args)
{
int n = 2;
int count = 0;
List sz = new List { 1,2,3,4,11,9,10,5,15,12,8,6,16,14,13,7 };
Dictionary l = new Dictionary();
Dictionary s = new Dictionary();
List tempLst;
do
{
tempLst = new List();
for (int i = 0; i < n; i++)
{
if (sz.Count >= n)
{
tempLst.Add(sz[i]);
}
}
l.Add(count,tempLst);
if (n > 0)
{
if (sz.Count >= n)
{
sz.RemoveRange(0,n);
}
else
{
sz.Clear();
}
}
n--;
count++;
tempLst = new List();
for (int i = 0; i < count; i++)
{
if (sz.Count >= count)
{
tempLst.Add(sz[i]);
}
}
s.Add(count - 1,tempLst);
if (count > 0)
{
if (sz.Count >= count)
{
sz.RemoveRange(0,count);
}
else
{
sz.Clear();
}
}
} while (sz.Count > 0);
foreach (var key in l.Keys)
{
foreach (var item in l[key])
{
Console.Write(item + "\t");
}
Console.Write("\n");
}
foreach (var key in s.Keys)
{
foreach (var item in s[key])
{
Console.Write(item + "\t");
}
Console.Write("\n");
}
}
动手写了下,这个是你需要的么?
{
int n = 2;
int count = 0;
List sz = new List { 1,2,3,4,11,9,10,5,15,12,8,6,16,14,13,7 };
Dictionary l = new Dictionary();
Dictionary s = new Dictionary();
List tempLst;
do
{
tempLst = new List();
for (int i = 0; i < n; i++)
{
if (sz.Count >= n)
{
tempLst.Add(sz[i]);
}
}
l.Add(count,tempLst);
if (n > 0)
{
if (sz.Count >= n)
{
sz.RemoveRange(0,n);
}
else
{
sz.Clear();
}
}
n--;
count++;
tempLst = new List();
for (int i = 0; i < count; i++)
{
if (sz.Count >= count)
{
tempLst.Add(sz[i]);
}
}
s.Add(count - 1,tempLst);
if (count > 0)
{
if (sz.Count >= count)
{
sz.RemoveRange(0,count);
}
else
{
sz.Clear();
}
}
} while (sz.Count > 0);
foreach (var key in l.Keys)
{
foreach (var item in l[key])
{
Console.Write(item + "\t");
}
Console.Write("\n");
}
foreach (var key in s.Keys)
{
foreach (var item in s[key])
{
Console.Write(item + "\t");
}
Console.Write("\n");
}
}
动手写了下,这个是你需要的么?
如何使用C# 语言实现螺旋加上蛇形的动态生成矩阵?n随机取数.
在Windows环境下用C#语言编写N*N 通用方阵,要求是左下三角是蛇形矩阵,右上三角顺时螺旋
c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数
如何C#实现矩阵的加法
C语言如何生成一个随机矩阵
跪求C语言编程:随机生成N*N的矩阵,选出n个最小数,要求这些数来自不同行何不同列.各位大神帮帮忙!
matlab如何生成对角线为无穷大的矩阵,比如说生成20*20的矩阵,对角元素为无穷大,其他为在5-10之间随机取的数(
求C语言程序,N*N的螺旋矩阵.
C语言,随机生成矩阵
我想随机生成一个矩阵,怎样能让他的行列式为1或-1?使用matlab实现
Matlab 如何随机生成不重复的随机矩阵
matlab如何生成满足一定条件数要求的随机矩阵.