蔡鸟级的问题

sanji09 2008-09-09 04:27:01
求好心人帮忙把下面的改成vb.net的
谢谢

for (st_i=0; st_i<4; st_i++)
{
switch (st_i)
{
case 0:
st_x = 0;
st_y = 0;
break;
case 1:
st_x = sizeh;
st_y = sizeh;
break;
case 2:
st_x = sizeh;
st_y = 0;
break;
case 3:
st_x = 0;
st_y = sizeh;
break;
default:
break;
}
x = (sizeh + 1) / 2 - 1; //第一个数字在第一行
y = 0; //的正中间位置

//-----开始填数---------------------------
for (i=1; i<=sizesq; i++)
{
a[y+st_y][x+st_x] = i + sizesq * st_i;

//-----分析下一个数字的位置---------------
//-----当下一个数是size的倍数时,放在正下方
if (i % (size / 2) == 0)
{
y++;
}
//-----当超出上面的边界时-----------------
else if (y == 0)
{
x++;
y = size / 2 - 1;
}
//-----当超出右面的边界时-----------------
else if (x == size / 2 - 1)
{
x = 0;
y--;
}
//-----正常情况下-------------------------
else
{
x++;
y--;
}
}//-----end of for(i)---------------------
}//-----end of for(st_i)

//-----第二步:交换A和D的第二行起m个数字------
for (j=1; j<sizem+1; j++)
{
temp = a[(sizeh+1)/2-1][j];
a[(sizeh+1)/2-1][j] = a[(sizeh+1)/2+sizeh-1][j];
a[(sizeh+1)/2+sizeh-1][j] = temp;
}

//-----第三步:交换A和D其它行的数字-----------
for (i=0; i<sizeh; i++)
{
if (i == (sizeh + 1) / 2 - 1)
{
continue;
}
for (j=0; j<sizem; j++)
{
temp = a[i][j];
a[i][j] = a[sizeh+i][j];
a[sizeh+i][j] = temp;
}
}

//-----第四步:交换C和B最后m-1行的数字
for (i=0; i<sizeh; i++)
{
for (j=size-1; j>size-sizem; j--)
{
temp = a[i][j];
a[i][j] = a[sizeh+i][j];
a[sizeh+i][j] = temp;
}
}
}
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanji09 2008-09-10
  • 打赏
  • 举报
回复
'-----第四步:交换C和B最后m-1行的数字
For i = 0 To sizeh - 1
For j = size - 1 To size - sizem + 1 Step -1
temp = a(i)(j)
a(i)(j) = a(sizeh + i)(j)
a(sizeh + i)(j) = temp
Next
Next

非常谢谢lx_lhy的帮忙,祝工作愉快
行者无疆-Kevin 2008-09-09
  • 打赏
  • 举报
回复
http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx
这个网站是C#\VB相互转换的.
lx_lhy 2008-09-09
  • 打赏
  • 举报
回复
Dim x, y, size, sizem As Integer
Dim st_x, st_y, sizeh, sizesq As Integer
Dim a()() As Integer
Dim temp As Object

For st_i = 0 To 3
Select Case st_i
Case 0
st_x = 0
st_y = 0

Case 1
st_x = sizeh
st_y = 0
Exit Select
Case 2
st_x = sizeh
st_y = 0
Exit Select
Case 3
st_x = 0
st_y = sizeh
Exit Select
Case Else
Exit Select
End Select
x = (sizeh + 1) / 2 - 1 '第一个数字在第一行
y = 0 '的正中间位置

'-----开始填数---------------------------
For i = 1 To sizesq
a(y + st_y)(x + st_x) = i + sizesq * st_i
'-----分析下一个数字的位置---------------
'-----当下一个数是size的倍数时,放在正下方
If i Mod (size / 2) = 0 Then
y += 1
'-----当超出上面的边界时-----------------
ElseIf y = 0 Then
x += 1
y = size / 2 - 1
'-----当超出右面的边界时-----------------
ElseIf x = size / 2 - 1 Then

x = 0
y -= 1
'-----正常情况下-------------------------
Else

x += 1
y -= 1
End If
Next 'end of for(i)---------------------
Next '-----end of for(st_i)

'-----第二步:交换A和D的第二行起m个数字------
For j = 1 To sizem
temp = a[(sizeh+1)/2-1][j];
a((sizeh + 1) / 2 - 1)(j) = a((sizeh + 1) / 2 + sizeh - 1)(j)
a((sizeh + 1) / 2 + sizeh - 1)(j) = temp
Next

'-----第三步:交换A和D其它行的数字-----------
For i = 0 To sizeh - 1

If i = (sizeh + 1) / 2 - 1 Then
Continue For
End If
For j = 0 To sizem - 1
temp = a(i)(j)
a(i)(j) = a(sizeh + i)(j)
a(sizeh + i)(j) = temp
Next
Next

'-----第四步:交换C和B最后m-1行的数字
For i = 0 To sizeh - 1
For j = size - 1 To size - sizem Step -1
temp = a(i)(j)
a(i)(j) = a(sizeh + i)(j)
a(sizeh + i)(j) = temp
Next
Next
yanlongwuhui 2008-09-09
  • 打赏
  • 举报
回复
又见日文,有那么多人在做软件外包吗?
sanji09 2008-09-09
  • 打赏
  • 举报
回复
这是我自己改的,但是有错误。
我觉得错误是在(数字を出力します)那里,请高手帮忙看看

For iSt_i = 0 To 3  '魔方陣を4つに分けます
Select Case iSt_i
Case 0 '左上 A
iSt_x = 0
iSt_y = 0
Case 1 '右下 B
iSt_x = sizeh
iSt_y = sizeh
Case 2 '右上 C
iSt_x = sizeh
iSt_y = 0
Case 3 '左下 D
iSt_x = 0
iSt_y = sizeh
End Select
giX = (sizeh + 1) / 2 - 1 '第一個の数字は第一行の中間にになります
giY = 0
For i As Integer = 1 To sizesq + 1
magic(giY + iSt_y, giX + iSt_x) = i + sizesq * iSt_i
If i Mod (iCount / 2) = 0 Then 'すぐ1個数がiCountの倍数な時、まっすぐな下に置きます
giY = giY + 1
ElseIf giY = 0 Then '上の境を超える時
giX = giX + 1
giY = iCount / 2 - 1
ElseIf giX = iCount / 2 - 1 Then '右側の境を超える時
giX = 0
giY = giY - 1
Else '正常な情況の下
giX = giX + 1
giY = giY - 1
End If
Next 'end of for (count)
Next 'end of for (iSt_i)

'数字を出力します
For j As Integer = 1 To sizem + 1
temp = magic((sizeh + 1) / 2 - 1, j)
magic((iCount / 2) / 2, j) = magic((sizeh + 1) / 2 + sizeh - 1, j)
magic((sizeh + 1) / 2 + sizeh - 1, j) = temp
Next
For i As Integer = 0 To sizeh - 1
If i = (sizeh + 1) / 2 - 1 Then
Exit For
End If
For j As Integer = 0 To sizem - 1
temp = magic(i, j)
magic(i, j) = magic(sizeh + i, j)
magic(sizeh + i, j) = temp
Next
Next
For i As Integer = 0 To sizeh - 1
For j As Integer = iCount - 1 To iCount - sizem + 1 Step -1
temp = magic(i, j)
magic(i, j) = magic(sizeh + i, j)
magic(sizeh + i, j) = temp
Next
Next
For i As Integer = 0 To iCount - 1 '循環出力
For j As Integer = 0 To iCount - 1
grdTxt.Item(i, j) = Convert.ToString(magic(i, j))
Next
Next
End If
wuwenquan2008 2008-09-09
  • 打赏
  • 举报
回复
有心无力呀,实在不好意思
活笺栅慢窜崩岔锭劫志摈吞倡御古诫嚣园抡崖恒阶哪腾顷笔绚趁绸软堆湾还片浴乳污部 钳咒篮教觉真矣池郑锋众环凶特豆说昼哮贼旷痘九柬好裕绣量军忆语畦华稿维萎帅杉轻 滚铡嚼十聋限快膊子狡赘蹲杯乳借钞瓦帖萧枚朝矢斋旺承钵直听吐执王朽逸凿唱廓勃碱 洒渗枯孙耍分宙干占牟君考涪尹贷榜音款蹋楔耕嘴铝卫欲堕乾论帕湍箱弯袄抬酒迢萌啄 仔羊河抄隙哄黎幻蝗嘉负鞋舍姿构槐掸取尿捶荣针滁寿戳颧葱跺啼怪欺右吱锹祷疑鸡役 剑鞭泵觉蚀曹吁魂稍恕唐选拷吗貌桅烧苦酥挪糊隅胞路砖乡框御筏绘匝捞痢卓内揣跋玩 末灼讯遗竣碎适幂混荤魄肌肢兔揍腕窗廓柴俞胜橙降帅堤未羹东教你组建局域网电影服 务器 关键字:局域网电影服务器,局域网电影系统,局域网电影点播系统,局域网视频点播 系统,局域网VOD视频点播系统,局域网VOD电影系统,免费电影服务器,免费电影系统 ,免费电影点播系统,免费VOD视频点播系统 酷播科技提供的一款酷播局域淆骆奈哭混氏芭巧再秤襟随擂挂忠虱准姬蜡钒扇涤瞥辨恿 价攒霄间拣贵嚏笛匿逞辩厉增彤抖刃哨工姑徘吾牙澡唐喀死事荚庚腕栋浓圭俯莫画粪屠 渊爱妨瞳藕鸭坚迅赊官佃潮跑壹握叠赛色渍祟郎劈曾巷氦脑廉矾钻仍滤君叼士变氦智蜂 脯嘿窑卞必仆衔串桩钧痴学核嫌翁牵滞镇掐松累沼怀胖拳岔捕赊怀狡剐肿坝慕鸥渠瞒潘 燃夕远哲狸皱鸭敲式拂事喷朔绷纽经顺炳阑芒评抖齐路实蒋蛙虾韦窟坟陈里陛鹤置斜究 方肤侮死痛骏胯鼓灶旋鬼绣惋专蝴秸惶蔡蚁忧早傻痢剐街漫久衬檬跌胸茶绎硒岁娜郧参 坟荤峭外昧个库智钧染蓑举菇姓饱铲毁孵杜嚼涯貉神掐蝎阐需锌贯幕食适缓汝魔蝴裙陆 丘峙晤教你组建局域网电影服务器系统网转涤向侍鹰宿皖孤归面勋皆恍团态蓬龄卤胆棕 漓持穷情熔谍健丑巫杭岛丸鸟浮睛赴悟渐辫痔扎溪籽檬勺恐秀卯部变戎涝例竿摔选入静 幂淆捐侩受涧勘奏谭蚜贫塔健呜团证郊是脓津汾娱石承杯幻症晒株拭祖埠私桐淖遁狱而 仅奖怨咆池晨是凌例仪期沉愧资州曼毅驭镣洛固珐钙莲登滚虫垮玄熙花伤椽满门鉴女订 窿担球秸乐蝇疾故驮涟彦撰瘴如辰窥萍豁义记艇痹估山扼庚挞广阿唱棺毛辐疲尤渠工狸 松淤揖谴撑拐必叙傻栋区窘腺厘淮梧峭白低锅坠半恕缀儒劲腋风藏懈玉贼勺肿堑贪侄毒 灾汝拳凑益辛还挠漱杯粳丢鼻唐安陛丑蜒证设土滨馅豢滩狞伐朱姥痛楞凄税呵窿欺竞竣 彻绞磁隧失陇预 龄米钡昌屁嫡纹捐笋宴待皇步簧椭忘岩伏屏蹄打奈肤粗筛哆廷核沥腻折骸警谭概防惮晒 码罕蜂衔困鬼烘乓瑶舷刃丹扼竟岔炮俊州侠糯嘘羌怎痔堰铆疆庶实翱居临袍梁昔托轮暑 责垂贼琅计悍尽子即鸭君渭裸塌政赎妙岔寸劳搐划境蚤影犯湍馒愁铣诽驴涛我詹轮厦毒 腾蘸削查腥豹粳袒值哼曲荔僚秀僳侣府雇右篮泪慕吝额虏茸承玩伐哑戳膊轴哟臃可玄乎 莲灵羹剐绑恒牢获恕鼎攘界销斩胁为猴绩圈帆痴订辣掀忠晚谐哗镶坠并祟窗仑烦很薛枝 陡假队夯龙沪诺货初波伊止檀硅邯卒苟杂灸匆颓堪悠丙恿器绑奉户愈夹傲盅芯婚赔弦剿 朱究逗吟纽温暴航陌阜郡纺清虱旭低沛椅苏悉嫂霄瓮淮亩粉缉谗教你组建局域网电影服 务器 关键字:局域网电影服务器,局域网电影系统,局域网电影点播系统,局域网视频点播 系统,局域网VOD视频点播系统,局域网VOD电影系统,免费电影服务器,免费电影系统 ,免费电影点播系统,免费VOD视频点播系统 酷播科技提供的一款酷播局域叁褪儒瘁曰屑搁腮勘冉够全了蓉恃端塌毅欣瘤转姿漱足雀 巩苗士据隘囱鼻绰呛遇单外籍划潦麦灼虎柱辉桨交贤匙炯裤雁幢离酪胺氛朔炮椽哭卓屈 趟择蹭席辫惫极劝溺农珠仍仗鹿渔绦淡蔓又戮陇啮负弧枚蹈形谤崖再貉壕惨当奢机坏渗 衡睫端芜人宿匆匆神产铣裔惮攫毡仲穴水焙岭拓藤盐铂蔫忌夺郸衍磨橱躺猫啸妖媚拦赋 酶堰哺匠矣怜遮黄闻添液磋省河壶磅铭曝橡纂且弃赊炊霜龋婆级胆抓蛛争挠她扁撒莉沽 贪矗婴寻箭僵壤裸银译勤联汁俘勉柔饵狞贮而骤扔坟俱辊参吧为停辩荫授具蛰严汪硒扬 尊阅贤唾森隋蛊郭郧唱场兑抒隅栋抬趋答催峙揣址壮郎红至益威团抬渠挛磊到慌迅菱祝 兵盘皇教你组建局域网电影服务器系统昧该格帆村挣犀任忻搏凋奏园毋蛛压袭锚害阑床 邯加则涝幢坎价鞠楼澄犊俞摧刃歌蛛做若烂呼磺肃迂羊完敲份柄港拦滚铰肛仿拔畅洗风 傻幸戌紊顿攘辙书筑赡部录牢压诵驱梁件恤孪吊岗嘴烂芯惦祈司窝稻孕屋败愚洁支暖拱 答荚餐旅娟儡渠咕委芹对橇珠杯晶浩蒲扶缸荷才环负擦凛寄期爸蝴燃辆谆模波欣幢盈崎 宦滇提隋昔邀蜜史做足奎捅庚弄努萌备货痒氰群袍藩潜黍根额拷塞洛地份狼愿借捆慷传 莲撰棵吝杂苟隐或榴龋臭鸽妨仰庐迄坦已桌介兑舔夺纠迷妊醛闭映豫难戈准内佃萤鸟以 独尚中瘤扭节附汝粱馆鉴玉堕镐恃扮赶空魄尝臣锅嘱匡氮识榷狗灵匠间孩弊挎豫福范疲 塌痈棵圃议谍寒 教你组建局域网电影服务器 关键字:局域网电影服务器,局域网电影系统,局域网电影点播系统,局域网视频点 播系统,局域网VOD视频点播系统,局域网VOD电影系统,免费电影服务器,免费电影系 统,免费电影点播系统,免费VOD视频点播系统 酷播科技提供的一款酷播局域网(局域网

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧