- 博客(31)
- 资源 (4)
- 收藏
- 关注
原创 MessageBox的几点用法
关于MessageBox可以说是最简单的API函数以下测试数据于VS2008进行 第一个:MessageBox(hwnd, "hello world", "", MB_OK);这是在一般的视频教程的示例程序,但是我们编译时,编译器会报错:“MessageBoxW”: 不能将参数 2 从“const char [6]”转换为“LPCWSTR” 错误原因找到:原来是Mes
2011-06-17 21:27:00
14349
原创 重新定义隐藏方法
<br />假设创建了如下所示的代码:<br />class Dwelling<br />{<br />public:<br /> virtual void showperks(int a) const;<br />....<br />};<br /> <br />class Hovel : public Dwelling<br />{<br />public:<br /> virtual void showperks() const;<br />....<br />};<br /> <br
2011-05-22 15:43:00
1185
转载 虚方法在类继承中的使用
首先来看一下一个继承// brass.h -- bank accound classes#ifndef BRASS_H_#define BRASS_H_// Brass Account Classclass Brass{private: enum { MAX = 35 }; char fullName[MAX]; long acctNum; double balance;public: Brass(const char *s = "NullBody",
2011-05-22 12:50:00
1195
转载 布局NEW操作符
<br />而已NEW操作符能够在分配内存时指定内存位置。下面的程序使用了布局new操作符和常规new操作符给对象分配内存。<br />// placenew.cpp -- new, placement new, no delete#include <iostream>#include <string>#include <new>using namespace std;const int BUF = 512;class JustTesting{private: s
2011-05-21 16:17:00
2552
原创 高精度计算2
<br />高精度除法:<br /> <br />#include <stdio.h>#include <string.h>#define MAX_LEN 200char szLine1[MAX_LEN + 10];char szLine2[MAX_LEN + 10];int an1[MAX_LEN + 10]; // 被除数,an1[0]对应于个位int an2[MAX_LEN + 10]; // 除数,an2[0]对应于个位int aResult[MAX_LEN +
2011-05-14 13:53:00
963
1
原创 复制书稿
<br />问题描述<br />假设有m本书(编号为1,2,…,m),想将每本书抄写一份,m本书的页数可能不同(分别是p1,p2,…,pm)。现将m本书分给k个抄写员(k<=m),每本书只能分配给一个抄写员进行复制,而每个抄写员所分配到的书必须是连续顺序的。意思是说,存在一个连续升序数列0=b[0]<b[1]<b[2]<…<b[k-1]<b[k]=m,这样,第i号抄写员得到的书稿是从b[i-1]+1到b[i]本书。抄写完所有书稿所需时间取决于分配得到最多工作的那个抄写员的抄写时间。试找一个最优分配方案,使分
2011-05-12 12:37:00
3665
原创 航线设置
<br />问题描述<br />在美丽的莱茵河畔,每边都分布着N个城市,两边的城市都是唯一对应的友好城市,现需要在友好城市间开通航线以加强往来,但因为莱茵河常年大雾,如果开设的航线发生交叉就有可能出现碰船的现象。现在要求尽可能多地开通航线并且使航线不能相交。<br />输入<br />有若干组测试数据,每组测试数据的第一行是一个整数n,它表示每边都分布着n个城市(1<=n<=1000)。接着有n行,每一行有2个整数s,t,之间有一个空格,s表示起点城市,t表示终点城市。<br />输出<br />对每组测试
2011-05-12 12:04:00
2364
原创 游船费问题
问题描述 某旅游城市在长江边开辟了若干个旅游景点。一个游船俱乐部在这些景点都设置了游艇出租站。游客可在这些游船出租站租用游船,并在下游的任何一个游船出租站归还游船,从一个游船出租站到下游的游船出租站间的租金明码标价。你的任务是为游客计算从起点到终点站间的最小租船费用。输入 输入文件有若干组数据,每组测试数据的第一行上有一个整数n(11,2,。。。,n。接下来有n行,这n行中的第1行有n个整数,分别表示第0站到第1,2,3,。。。,n站间的游船租金;第2行有n-1个整数,分别表示第1站到第2,3,4
2011-05-11 21:55:00
2116
原创 圆周率PI
<br />算法设计<br /><br />⑴选择计算公式<br />计算圆周率∏式很多,选取收敛速度快且容易操作的计算公式是设计的重要一环。<br /><br />∏/2=1+1/3+(1•2)/(3•5)+(1•2•3)/(3•5•7)+⋯+(1•2•…n)/(3•5•…•(2n+1) )<br />=1+1/3(1+2/5(1+...(n-1)/(2n-1)(1+n/(2n+1))...)<br /><br />⑵确定计算项数<br />可证明,式中分工第n项之后的所有余项之和Rn<an。因此,只要选
2011-05-10 18:56:00
1236
原创 点的覆盖圆
<br />1.问题提出<br />已知平面上8个点的坐标为:(3,6) (7,2) (9,5) (1,7) (3,1) (8,2) (4,5) (2,8),试求覆盖8个点的覆盖圆的最小半径。<br /><br />2.设计思路<br />①若最小圆的圆周上只有两个点,则这两个点的连线定为圆的走私。<br />②若最小贺的圆周上有3个(或3个以上)点,则最小圆为这3个(或3个以上)点的外接圆。<br />求外接圆的步骤如下:<br />⑴求出两点(x1,y1)、(x2,y2)的距离L1:<br />L1=s
2011-05-09 20:39:00
2380
原创 插入r个乘号问题的动态规划求解
利用穷举法求解法插入4个乘号请访问:http://www.vcworld.net/bbs/viewthread.php?tid=8580&extra=一、问题提出 在一个由n个数字组成的数字串中插入r个乘号(1 例如,对给定的数串847313926,如何插入r=5个乘号,使其积最大?二、动态规划设计 对于一般插入r个乘号,采用穷举已不适合。注意到插入r个乘号是一个多阶段决策问题,应用动态规划来求解是适宜的。 1.建立递推关系 设f(i,k)表示在前i位数中插入k个乘号
2011-05-08 18:30:00
6766
原创 [推荐]数阵中的最优路径
一、数值三角形中的最大路径 随机产生一个n行的点数值三角形(该数值三角形的第K行有K个点,每一个点都带有一个正整数),如图所示,即随机产生一个7行点数值三角形。寻找从顶点开始每一步可沿左斜(L)或右斜(R)向下直至底部的一条路径,使该路径所经过的点的数值和最大。 16 12 13 8
2011-05-08 13:07:00
3262
1
原创 [推荐]最长不降子序列与最长公共子序列
d一、字符串删字符后最长不降子序列 1.问题描述 请在字符串“UXDQIRQFJEUURYHKNTUVPBYIDYXQCXITPVSNSKWJIIJTZ“中删除若干个字符后,余下的字符构成不降子序列(即序列从第2个字符开始,每一个字符的ASCII码不小于它前面字符的ASCII码)。求最长的不降子序列。 2.设计要点 给定一个由n个字符组成的字符串,从字符串中删除若干个字符后,使剩下的字符串构成非子序列。设字符串的各个字符a(1),a(2),...,a(
2011-05-07 21:42:00
2283
1
原创 整数的拆分
1.问题提出 整数s的拆分是把s分成为某些指定正整数之和,拆分式中不允许零数重复,且不记零数的次序。试求s共有多少个不同的拆分式?展示出s的所有这些拆分式。2.递归设计 注意到拆分与式中各零数的排列顺序无关,我们考虑从1~m这m个数中取k(k 当组合的第一个数字选定时,其后的数字是从余下的m-1个数中取k-1个数的组合。这就把从m个数中取k个数的组合问题转化为从m-1个数中取k-1数的组合问题。 设置数组a[]存放救出的组合数字,约定函数将确定的k个数字组合的第一个数字放在a[k]中,当一个
2011-05-07 10:48:00
6520
原创 积最大的整数分解
<br />1.问题描述<br /> 把2010分解为若干个互不相同的正整数之和,使这些互不相同的正整数之积最大。<br /> <br />2.设计要点<br /> 进行一般化处理,把指定正整数n分解为若干个互不相同的正整数之和,使这些互不相同的正整数之积最大。<br /> 设使积最大的化零分解中,最小零数为c,最大零数为d。<br /> ⑴c>1。若c=1,去掉零数1,把1加至最大零数,显然积会增大。<br /> ⑵零数按由小到大排列,从c到d的零数序列中,中间的空数(不在零
2011-05-06 19:42:00
3020
1
原创 列队顺逆报数
<br />1.问题描述<br /> 编号为1,2,...,100的100位小朋友依次排成一列。从1号开始1,2,3报数,凡报到3者出列,直到报数到队列尾部。此后,又从队列尾开始反向1,2,3报数,凡报到3者同样出列。这样反复顺逆报数,直到队列剩下2个小朋友为止。<br /> 问:最后两个小朋友编号为多少?第50个出列的是哪一个?<br />2.设计思路<br /> 为一般考虑,设总人数为n,报数从1,2,...报到m。求最后m-1个未出列进行与指定的第p个出列者的编号。<br /> 设置数
2011-05-06 17:57:00
2765
原创 圆圈中的无忧位与绝望位
1.问题提出 学院某系要在本系154个同学中选派一半同学即77人参加夏令营,由于报名踊跃,争执不下,系学生会主席王小明提议实施按学号围圈、报数淘汰的办法实施筛选:同学们学号为1,2,。。,154,按学号顺序逆时针方向围成一圈。小明的学号为1号,从1号开始逆时针方向1,2,。。。,报数,凡报数m者出圈淘汰,如此继续报数淘汰。直到最后剩下77人确定参加夏令营。 为了确保公正,报数数m由通常摇双骰子确定,两个色子点之和(显然为区间[2,12]中的正整数]确定为报数数m。他具体举例说,例如双色子点数之和为8
2011-05-06 15:51:00
1040
1
原创 圆圈循环报数
1.问题提出有100个小朋友按编号顺序1,2,。。。,100逆时针方向围成一圈。从1号开始逆时针方向1,2,。。。,9报数,凡报数9者出列(显然,第一个出圈为编号9者)。最后剩下一个未出圈者的编号是多少?第50个出圈者的编号是多少?2.设计要点圆圈循环报数问题称为Joseph问题。我们考虑一般问题:有n个小朋友按编号顺序1,2,。。。,n逆时针方向围成一圈。从1号开始按逆时针1,2,。。。,m报数,凡报数m者出列。求最后剩下一个未出圈者的编号与指定第p个出圈者的编号。设置数组a(n),每一数组元素赋初值1,
2011-05-05 22:27:00
5720
原创 组合问题
组合的实现:1.回溯实现回溯法实现从1~n这n个数中每次取m个数的组合,设置a数组,i从1开始取值,a(1)从1开始到n取值。约定a(1),...,a(i),...,a(m)按升序排列,a(i)后有m-i个大于a(i)的元素,其中最大取值为n,显然a(i)最多取n-m+i,即a(i)回溯的条件是a(i)=n-m+i。当i当a(i)=n-m+i时,i--回溯,直到i=0时结束。代码:// ICPC.cpp : 定义控制台应用程序的入口点。// 排列组合#include "stdafx.h"
2011-05-05 09:10:00
787
原创 排列组合问题
<br />1. 基本排列A(n, m)的实现<br />1)应用穷举是比较容易实现的<br />2)这里用回溯法解决此题(回溯法简介http://baike.baidu.com/view/45.htm)<br />算法思路:<br />①设置一维a数组,a在1~n中取值,出现数字相同时返回<br />②当i<m时,还未取m个数,i增加1后a(i)=1继续;当i=m时,输出一个A(n, m)的排列,并设置变量s统计A(n, m)排列的个数(这个其实可以用数学公式直接计算<br />③当a(i)<n时a(i)
2011-05-04 11:42:00
679
原创 不会出现连续偶数个合数????
<br /> <br />我是今天发现的,不知对不对???因为没有考虑高精度情况<br /> <br /> <br />int main(void){ int i, k, n; printf("最小连续n个数(1~100)? "); scanf("%d", &n); i = 2; while (1) { if (1 == n)
2011-04-29 20:59:00
832
1
原创 不会出现连续偶数个合数????
<br /> <br />我是今天发现的,不知对不对???因为没有考虑高精度情况<br /> <br /> <br />int main(void){ int i, k, n; printf("最小连续n个数(1~100)? "); scanf("%d", &n); i = 2; while (1) { if (1 == n)
2011-04-29 20:59:00
604
原创 图形点扫描
1.问题描述 有一条“封闭”曲线划定的地图,界定曲线上的点有“1“表示,曲线内外的点用“0”表示(具体数据由另文件提供)。 试实施图形点扫描,统计地图的面积即“封闭”曲线内“0”点数。2.设计思路 要统计用“1”标识的标识的封闭曲线内“0”点的点数,关键在于如何识别哪些“0”点在封闭曲线内,哪些“0”点在封闭曲线外。 试对封闭曲线外的“0”点实施“扩散传染”处理,处理成“2”点,以与曲线的“0”点相区别。考虑到连续曲线可能复杂的弯曲变化,用简单一次穷举难以区分曲线内与外的“0”,可把曲线外的
2011-04-28 19:56:00
1592
1
原创 猴子爬山与分级递推思想
<br />一、特殊情况<br /> <br />1.问题提出<br /> 一个顽猴在一座有30级台阶的小山上爬山跳跃。上山一步可上跳1级或3级,求上山有多少种跳法。<br />2.解题思路<br /> 达到第30级之前位于哪一阶呢??有两种情况,其一是第29级,一步跳一阶到达,其二是第27级,一步跳三阶到达。<br /> 所以有:<br /> f(30) = f(29) + f(27)<br /> 其他以此类推,一般地有递推关系:<br /> f(k) = f(k - 1) +
2011-04-27 17:54:00
7211
1
原创 高精度计算1
<br />高精度计算在最近几天上去,现贴上的只有高精度阶乘、加法、减法,加减法支持负数及小数,阶乘最多支持10000位,要增加请更改a数组的大小,加减法最多支持100位,若要修改,修改MAXN的大小 <br />// 趣味C.cpp : 定义控制台应用程序的入口点。// 高精度的总结~#include <stdio.h>#include <string.h>#include <stdlib.h>#include <memory.h>#define MAXN 100v
2011-04-26 21:46:00
939
原创 希尔密码加密与译码
<br />我把加密与译码的原代码放在这里<br />注意:加密已成功,译码还还存在问题,问题应该出在求逆向矩阵上,我也不想做了,有意者拿去做一下吧。<br />// 希尔算法的加密与解密#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <conio.h>#include <ctype.h>#include <memory.h>// nDime为全部变量,可逆
2011-04-24 15:31:00
10116
1
原创 最大公约数与最小公倍数
<br />一、两个数的最大公约数和最小公倍数<br />1.常规求解<br /> <br />求两个数的最小公倍数lcm(int m, int n)可以直接通过,m * n / gcd(m, n)得出<br /> <br /> <br /> // 求最大公约数int gcd(int m, int n){ int p = 1; for (int i = 1; i <= m && i <= n; i++) if (!(m % i) && !(n % i)) p = i;
2011-04-21 15:12:00
553
原创 API之路1
<br />不同于打开文件或保存文件,这两个只须用OpenFileName和GetOpenFileName、GetSaveFileName,设置相关字段就可以搞定,网上有很多,这里就不一一赘述了。<br />当然,选择文件夹/目录,网上也有很多,MSDN上也有详细介绍,但是,不是很熟悉的会用错,特别是在win32编程中。<br />这是我的代码:<br /> <br />char path[MAX_PATH]; BROWSEINFO bi; // 保存用户选择的目录信息 bi.hwndOwner
2011-04-17 21:25:00
1486
原创 API之路1
<br />今天又学会了几个API,总结如下:<br />1.ShellExecute,这个函数在#include <shellapi.h>中<br />原型如下:(参考百度百科)<br />ShellExecute( <br /> hWnd: HWND; {指定父窗口句柄} <br /> Operation: PChar; {指定动作, 譬如: open、print} <br /> FileName: PChar; {指定要打开的文件或程序} <br /> Parameters: PChar; {
2011-04-17 16:16:00
457
原创 C语言关机
定时开关机头文件windows.hBOOL ExitWindowsEx( UINT uFlags, DWORD dwReason};uFlags的值:EWX_LOGOFF,0,注销EWX_SHUTDOWN,1,关机EWX——REBOOT,2,重启EWX_POWEROFF,8,断开电源EWX_FORCE,4,强制终止所有程序EWX_FORCEIFHUNG,16,强制终止未响应的程序后面的dwReason一般不指定返回值为0时表示失败,非0时就表示已经开始执行关机操作要指定时间关机 只需一个SetT
2011-04-15 18:12:00
857
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人