24小时热门版块排行榜    

查看: 377  |  回复: 6
当前主题已经存档。

wyq0901

铁杆木虫 (小有名气)

[交流] 【求助】数组中的值动态问题【已解决】

想用数组完成一个循环的功能,这个循环比较特殊,具体如下:
程序上半部分运行完成后,产生一个值,比如是3,将此值放入数组的第一个位置,然后根据这个数值,继续运行程序3次;这里需要注意的是,下次运行的时候可能出现的数值为2,那么要把这个2放在数组的第二个位置,然后需要首先运行完这两次后,才能返回到数组的第一位,继续运行剩下的次数,终止条件是数组中的值全部为0。即数组中的每个值是由每次运行的结果决定的,而这些值又决定了程序是否继续运行,只有当运行的结果全部为0时,才可以结束!
请问数组能完成这个功能吗?还有别的方法完成这个功能吗?
描述的有点乱,如有不明白的地方,请大家提问!

[ Last edited by nono2009 on 2010-6-20 at 16:15 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dedream

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
wyq0901(金币+1):谢谢回复,我又补充说明了,请看看这下明白了没? 2010-03-19 19:53
有点没看懂,实在不行,多建一个数组?
从数据到结论
2楼2010-03-19 15:57:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyq0901

铁杆木虫 (小有名气)

引用回帖:
Originally posted by dedream at 2010-03-19 15:57:40:
有点没看懂,实在不行,多建一个数组?

我再解释一下,数组中的数是由程序产生的,又要控制以后的程序运行,每运行一次,数字就减1。
如果第一次是3,那么相当于里面有a,b,c三个数,要求a,b,c都要被单独提取出,把3放a[0]中,意思是单独提出3次,即程序运行3次。先提取一个a运行程序(这时a[0]中的数减1为2),结束后剩余b和c,这是的值就是2,同样b和c要求被单独提取出,把2放a[1]中。先提取b运行程序(这时a[1]中的数减1为1),结束后剩余c,这是值为1,并放入a[2],直接提取c运行程序,(这时a[2]中的数减1为0),运行完成后,由于a[2]中的数已经为0,所以返回到a[1]。由于a[1]为1,所以要继续运行程序,这时要提取C(因为b已经提取过了)运行程序(同时a[1]中的数减1为0),结束后剩余b,这是值为1,并放入新的a[2]中,直接提取b运行程序,(这时a[2]中的数减1为0),运行完成后,由于a[2]中的值已经为0,所以返回到a[1],a[1]的值也为0,所以返回到a[0]。a[0]中的值为2,继续运行程序,这时要提取b(因为a已经提取过了)运行程序(同时a[1]中的数减1为1),后面以此类推。
这下解释清楚了吗?VC和C++都怎么实现啊?
3楼2010-03-19 19:52:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjyl

金虫 (正式写手)

我猜想看了的人都是越看越糊涂。。
4楼2010-03-19 21:50:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主

偶被你整糊涂了
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
5楼2010-03-19 22:20:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyq0901

铁杆木虫 (小有名气)

太失败了,怎么越解释越糊涂啊!
6楼2010-03-20 09:39:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dedream

木虫 (正式写手)

确实还是没看懂
我感觉程序本身应该实现起来不困难,不外乎if else if

但是没搞懂流程
从数据到结论
7楼2010-03-20 21:31:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wyq0901 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见