请问如何将数组中元素顺序打乱

来源:互联网 发布:幸运大转盘源码 编辑:程序博客网 时间:2024/05/19 19:33

我想做一个连连看.
比方说有一个数组含100个元素.
每过一关,我要将这100个元素的值打乱.请问要怎么实现.

我想的方法是生成0-99之间的100随机数作为数组的索引.然后
int i, j;
int rand[100]; 存放0--99之间的随机数
int temp;
int arr[100]; //用于保存图片.我需要将这个数组打乱
打乱其实很简单,但是算法上要保证能够能够恢复回来,
另外图片你有的时候回发现,即使加密了,样子还是可以模糊的改变出来,
所以算法上复杂一点,楼主自己多实几个算法的组合吧。
我也遇到过这个问题,其实微软的 visual studio里面就提供了一些很好的界面库,好像是MFC和什么来着,具体我也没研究过。
我现在常在双系统下,并且偏向Ubuntu,所以就选了一个兼容双系统的 图形库 Qt4和编译IDE Qt creator,用起来感觉挺简单的,跟C#拖拖拽拽的风格差不多。网上资料不上,有论坛,你也可以在qq群搜索里面找qt的讨论群学习。
这里有我的一些 资料,主要是安装方面的
LZ,一开始我和你也有一样的想法,一样的迷茫~~我之前也是搞VB的,都快5年了!这几周开始学习C++,也觉得很别扭,不过慢慢就习惯了!初期的话可以尝试着用windows api来写界面,等C++语言熟练了之后,就可以玩MFC了~MFC没有扎实的C/C++语言基础,会感觉很纠结的。不过你可以一边学习C++语言,一边玩MFC。如果你完全没有接触过C++的话,就先别弄MFC,那样会严重打击你的积极性!

c/c++做界面也相当强悍
现在OBJECT C大行其道
看看GOBJECT,然后基于GOBJECT GLIB的gtk 
clutter非常非常多的GUI工具
你就知道c的强大 不在于能轻松handle 操作系统还能handleGUI

我认为重要的还是你程序设计的思想
工具和语言也重要但是不如你脑子中的design重要
你可以选择VC++ windows平台 你也可以选择 qt, gtk linux平台
无所谓均为工具而已 掌握其提供的组件也是有必要的
它能给你设计拓宽思路 不用把看到那些很炫的界面想象的很复杂
其实按照层次分解开并不复杂
比如一个复杂的动画看起来很美 如何实现呢?
分解下来 OS->Linux  
tool: opengl, clutter ...等GUI系统
语言 c
任务分解就是opengl操作gpu来实现一段动画过程
将此段动画植入带有window处理功能的clutter组件对象中
实现对于窗口 点击 拖动的处理
其实平台最重要也最不重要很多工具均为平台无关的
关乎的呢掌握这些标准工具之后如果来实现出这个效果而已
啰啰嗦嗦说一堆也不知道有没有让你听懂
听不懂就当没说吧 : )

用C或C++写界面是不是大材小用了!!!!!如果为了写界面,还是用MFC吧,,,纯粹的用SDK,,Windows编程,,你很快就会不喜欢写界面的!!!当然,,还有很多拓展的类一些别人写的类,用VC写出来的也还不错!!

win api是底层的东西,做界面都要用的,里面是很多函数,包括做界面的东西,vc++6.0中,建一个win32 Application 是一样可以做出界面的,但是具体工作都要程序一个字一个字的写出来。
  直接用win api来做,太繁琐,太麻烦,而且要重复写很多代码,所以微软的技术人员就搞出一套框架,把你平时做界面要做的一些工作都封装起来,抽象起来,从而省去程序员很多工作,你只需按mfc的要求去填写一些代码即可,什么消息机制的东西啊都比原来直接用win api写要简单的多了,mfc里叫消息映射。但是建win32 Application工程还是繁琐,于是便有了MFC AppWizard(exe)工程,它会给你建mfc程序的向导,你按着步骤做就可以了,它又给你省去了很多重复的和技术含量相当低的一些工作.
  mfc里有很多需要记忆的东西,宏啊函数啊等等,你做的多了熟悉了就好了.你可以从最简单的界面开始,一步一步来。

来源:足球直播

原创粉丝点击