用c#怎么编写一个螺旋数组1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9请高手指点
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9请高手指点
解决方案 »
- 如何利用自定类型作函数参数来处理
- 字符串输出
- 关于粘贴问题!
- datagridview中的CellEnter 事件触发不了
- C# 中 用0dbc连接access数据库的连接问题
- vs中datawindow.net按shift、ctrl多行选择怎么实现,急啊。先谢谢了!
- c#的数据库连接字符串怎么写?
- ViewState是做什么用的,能否举例说明一下?刚学,不明白。
- 求助: OleDb连Access数据库中,用sql比较时间日期字段大小出错,急~~~~
- 关于对象嵌入的问题,能解决者立即给分!
- C# listView的显示问题,不知道为什么显示不出来,网上找不到答案
- DataRelation设定的问题???
{
private int x;
private int y;
public int[,] group; public Luoxuan(int x,int y)
{
this.x = x;
this.y = y; this.group = new int[x,y];
} public void Generate()
{
int value = 1;
int intTime = 0;
int i = 0;
int j = i; while(this.group[i, i] == 0)
{
//left to right
for (i = intTime; j < y - intTime; j++)
{
this.group[i, j] = value ++ ;
}
j--;
i++; //up to down
for (; i < x - intTime; i++)
{
this.group[i, j] = value++;
}
i--;
j--; //right to left
for (; j >= intTime; j--)
{
this.group[i, j] = value++;
}
j++;
i--; //down to up
for (; i > intTime; i--)
{
this.group[i, j] = value++;
}
i++;
j++; intTime++;
}
}
}
* Created by SharpDevelop.
* User: Administrator
* Date: 2007-9-3
* Time: 22:35
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/using System;class ArrTest
{
private static int p = 5;
private static int[,] a = new int[p,p];
private static int k = 1;
private static int s;//此行赋值时动座标的开始值
private static int m;//此方向圈数
private static int n;//该行赋值个数
static void Main()
{
int i = 0;
int j = 0;
int t = 1;//圈数,即不转弯的第几节
int all = 0;
while( all == 0 )
{
foreach(int x in a)
{
if(x == 0)
{
all = 0;
break;
}
else
{
all = 1;
}
}
m = (t-1)/4+1;
getValue(ref i,ref t);
t++;
}
for(i = 0;i < p;i++)
{
for(j = 0;j < p;j++)
{
Console.Write(" {0:d2} ",a[i,j]);
}
Console.WriteLine();
}
}
private static void getValue(ref int i,ref int t)
{
switch( t%4 )
{
case 1:
n = p-2*(m-1);
s = m - 1;
for(i = s;i < s+n;i++)
{
a[m-1,i] = k++;
//Console.WriteLine("a[{0},{1}]={2}",t/4,i,a[t/4,i]);
}
break;
case 2:
n = p-1-2*(m-1);
s = m;
for(i = s;i < s+n;i++)
{
a[i,p-m]=k++;
//Console.WriteLine("a[{0},{1}]={2}",i,(18-t)/4,a[i,(18-t)/4]);
}
break;
case 3:
n = p-1-2*(m-1);
s = p-1-m;;
for(i = s;i > s-n;i--)
{
a[p-m,i]=k++;
//Console.WriteLine("a[{0},{1}]={2}",(19-t)/4,i,a[(19-t)/4,i]);
}
break;
case 0:
n = p-2-2*(m-1);
s = p-1-m;
for(i = s;i > s-n;i--)
{
a[i,m-1]=k++;
//Console.WriteLine("a[{0},{1}]={2}",i,(t-4)/4,a[i,(t-4)/4]);
}
break;
}
}
}
我自己写的,我是新手,你参考一下吧