很多网友发贴询问诸如:八皇后问题、彩票问题(从m中数中选择n(m>=n)的组合)等,其实这都可归结为排列组合的问题。解决这类问题,用for循环嵌套是不现实的(只能对指定的m、n编程,而且程序看上去异常繁琐),较好的方法是回朔法。下面给出这类问题的一般算法的c/c++描述:intcombine(inta[],intsub){//a[1..?]表示候选集,sub表示一个排列(组合)的元素个数{inttotal=sizeof(a);intorder[sub+1];in... 文:jasonmonberg译:马晓宁xml(可扩展标记语言)看起来可能像某种w3c标准——现在没有什么实际影响,即使以后能派上用场,也是很久以后的事。但实际上,它现在已经得到了应用。所以,不要等到xml已被加进了你最喜爱的html编辑器中才开始使用它。它现在就可以解决各种内部问题和b2b系统问题。在sparks.com,我们使用xml来标准化从java对象到html数据显示等不同系统之间的数据表示。特别需要指出的是,我们发现,只要以非常基本的xml结构来实现标准化,就可以更容易地共享和操作数据。在这一过程中,我们发现了使用xml的很多有效方法。下面详细介绍我们现在的应用情... 作者:BUILDER.COM当你在VisualBasic6之中创建数据入口窗体时,你经常会需要根据应用程序的状态来使能或反使能控制。要使你的应用程序看起来更加专业,就要在整个应用程序之中以同样的方式使能和反使能控制。例如,给文本框和组合框设置BackColor和Locked属性,而不是对他们进行反使能,这样用户仍然可以从这些控制之中拷贝文本。同样地,你可以在多行的文本框之中使用滚条。对于一个特定类型的控制,任何必需的特殊处理都可以在SetControlState程序之中给出,这可以通过在"IfTypeOf"声明中加入一个额外的检... 水仙花数是指一个三位数,其各个数之立方和等于该数,例如153,即为一水仙花数,因为153=13+53+33FORTRAN源程序WRITE(*,30)DO10K=100,999IA=K/100IB=MOD(K,100)/10IC=MOD(K,10)IF(K.NE.IA**3+IB**3+IC**3)GOTO10&nbs... 若A、B、C为满足A2+B2=C2的正整数。我国古代数学书《周髀算经》曾经提到“勾广三,股修四,径偶五”这三个边都是正整数的直角三角形。在公元263年时,我国数学家:刘徽写了一本数学书,书名叫作《九章算术》,其中有32+42=5252+122=13272+242=25282+152=172202+212=292由此看来我国古代数学家已经研究出很多组勾股数。(一)见程序设计思路笔算从略请你编写程序,求出100之内的所有组勾股数,... 在VB中绘制实时曲线是比较难的,一般要应用第三方控件或是WindowsAPI函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用VB提供给我们的空间来完成.原则上讲,直接在Form里绘制曲线都是可以的,MSDN上面很多例程就是直接在Form里面绘制图形的,Form作为绘制图形的容器,不过一般应用中Form中不可避免的会有很多其他控件,所以我们选择PictureBox作为绘制... .NETFramework中包含许多工具可以用来更快、更容易地编写正确的程序。但我们得面临这样的情况:出现bugs。不管程序多么简单,程序员都可能出错。根据我的经验,大多数程序的bugs出现在程序员之间的接口:当一个程序员编写的代码被另一个程序员调用时。不知何故,调用者破坏了代码编写时做的假设。是谁的过错呢?这并不要紧,更重要的是你能多快修好它?下面这些技巧将帮你在程序投入使用前更快地发现并解决这些问题。最终,这些技巧会帮你诊断任何的确在使用中出现的问题。测试假设条件测试假设条件是构建正确的程序最重要的一个方法。在你写一个函数时,你应该考虑并确定你对那个函数做了什么样的假设。你应该... /**Createdon2003-3-28*n皇后问题算法。*把棋盘看成一个坐标系,以左下角为原点(0,0)。坐标系的每个点为一个Point类。*每个皇后为一个皇后对象Queen。*判断一个点的坐标是否在,一个皇后控制的范围的函数为Queen.isUnderControl(point)。**/packagebia.arithmetic;importjava.util.Date;/***@authorAdministrator**Tochangethisgeneratedcommentgoto*Window>Preferences>Java>... 什么是扩展存储过程?扩展存储过程使您得以使用象C这样的编程语言创建自己的外部例程。对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。可将参数传递给扩展存储过程,扩展存储过程可返回结果,也可返回状态。扩展存储过程可用于扩展Microsoft®SQLServer™2000的功能。扩展存储过程是SQLServer可以动态装载并执行的动态链接库(DLL)。扩展存储过程直接在SQLServer的地址空间运行,并使用SQLServer开放式数据服务(ODS)API编程。编写好扩展存储过程后,固定服务器角色sysadmin的成员即可在SQLS... 共享软件中有很多界面美观的文件分割程序,将一个大文件分割成几个较小的文件,分别保存,需要的时候再合并成原来的文件,常常是必备的工具。本文用微软的visualstudio.net开发环境的C#语言也来设计一个文件分割器,并且以DOS命令行方式运行,就象使用copy命令一样简单。从中也可以了解文件分割的原理以及.net框架对文件的读写操作方式。新建一个visualc#项目,选择“控制台应用程序”,项目名称设... 串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。我们可以利用WindowsAPI提供的通信函数编写出高可移植性的串行通信程序。在Win16中,可以利用OpenComm、CloseComm和WriteComm等函数打开、关闭和读写串口。但在Win32中,串口和其他通信设备均被作为文件处理,串口的打开、关闭和读写等操作所用的API函数与操作文件的函数相同。可通过CreateFile函数打开串口,通过Clos... 在VB中,提供了很多数据类型转换的函数,特别是各种进制数据的转换以及字符串和数字的转换函数,本文将对这些函数做一个简单的小结.1.各种进制转换函数一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,因而也成为计算机的常用表示方法.&nbs... 有的程序员希望能够显示用户当前登录的用户名。这使得程序员可以识别当前企图执行某个操作的用户,也可以通知用户机器已被某个用户以外的用户名登录。如何使用Windows9x的网络函数来完成此功能呢? 利用WindowsAPI函数WNetGetUser可以确定当前登录的用户。在WIN32系统中(Windows9x和WindowsNT),此函数接受本地驱动器名,返回用户名及其大小(用户名缓冲区的大小)。 按照下列步骤实现一个例子程序。运行此例子程序,从菜单NetWorks中选择菜单项UserNames,将弹出一个对话框,显示此机器上安装的驱动器。当从列表中选择一个驱动器后,文本... 杨绍方摘 要 本文介绍了UDPSockets的基本概念和IP多点传送的原理,详细讨论了Java中的相关类及使用方法,提供了一个IP多点传送的开发流程。关键词 Java UDPSockets IP 多点传送 MulticastSocket 类IP多点传送(multicastdelivery)是针对点到点的传送和广播传送两种方式而言的,它是指在一定的组内对其成员进行的广播,是一种有限的广播。组中的某个成员发出的信息,组中的其它所有成员都能收到。它是UDPSockets的一个分支。 IP多点传送特别适合与高带宽的应用,例如在网络上发送视频和音频。随着网络带宽的不断提高和网络通... 中国科大附中徐江VisualBasic以下简称(VB)十一个功能强大的编程语言。特别是4.0以后,支持了OLEAutomation技术,给编程带来了更大的方便。前些时,我试着编写一个支持网络的数据库。但是由于没有联网,所以没法测试。于是,我想到了OLEAutomation,用它就可以在一台机器上测试网络功能。经过改动,还可以用它通过Modem来进行联机。下面,我介绍一下如何用VisualBasic编写小型的网络系统。首先,建立一个支持网络OLEAutomation启动VB。在窗体Form1中建立一个列表框List1,在它上面建一个Frame1,设置它的Caption属性为空... (一)编程原理; 由于windows自身并未提供这项接口函数,因此我们必须从分析菜单的实质入手,我认为任何菜单实质上是一个没有标题栏的窗体,菜单项目是某些控件(如标签控件),通过监测鼠标是否移动到控件上而相应的改变控件的背景色和填充色,从而达到相应的目的,当然另外一项关键是如何制造出那一个倒立着的写着“windows98”字样的标题,这需要我们调用复杂的系统函数来实现。 (二)编程实践; (1)运行vb6,建立一个标准exe工程,添加命名为form1的窗体,放上一个command控件“command1”,caption=“开始”,调整到适当的位置,双击窗... VB的End语句并不总是将在程序中打开的东西卸载得一干二净。例如你在程序中打开了一个文件,而没有用Close语句关闭这个文件,这时你通过程序中的End语句结束了程序,Windows就会认为你打开的文件正在被一个程序所使用,导致你在资源管理器中无法删除该文件。在有些情况下,如果你只用End语句来结束程序,会导致一些非常严重的后果,例如Windows会发出错误的信息,告诉你C盘损坏等等。因此最好是自己编写一个关闭子程序:PublicSubShutdown(OptionalByValForceAsBoolean=False)DimIAsLongResumeN... 图像分割是图像处理这门学科中的基础难题,基于阈值的分割则又是图像分割的最基本的难题之一,其难点在于阈值的选取。事实证明,阈值的选择的恰当与否对分割的效果起着决定性的作用。由于阈值选取对图像分割的基础性,本文主要在【1】、【2】、【3】、【4】等的基础上,对一些当前流行的阈值选取算法做了探讨、实现和比较。多阈值分割虽然能进一步提高图像分割的质量,但由于它只是分割技巧的处理问题,而与单阈值分割并无本质的区别。因此本文并不对多阈值分割进行讨论,而只考虑单阈值分割的情形。1.双峰法双峰法的原理及其简单:它认为图像由前景和背景组成,在灰度直方图上,前后二景都形成高峰... 我从前出于需要,上网寻找了关于录音部分的源代码,收获不大,现在把自己摸索的部分源代码公开出来吧,希望对部分人有用。其实要实现声音的录制,可以用多种的方式(例如mci),我这里介绍的是在API的层面来实现,你可以对其中进行更多的控制。比方说,要音频裸数据存到你指定的内存中去。先说一下要用到的API,录音通常都是使用waveInXXX一类API的,最主要的是waveInStart(顾名思义就是开始录音),然...