自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

neu_caoyuan的专栏

欢迎来到我的博客 希望能对您有所帮助

  • 博客(2)
  • 资源 (20)
  • 收藏
  • 关注

原创 Winpcap常用函数解析

1. int pcap_findalldevs(pcap_if_t **, char *)    说明:用来获得网卡的列表    参数:指向pcap_if_t**类型的列表的指针的指针; char型指针,当打开列表错误时返回错误信息    返回值: 为int型,当显示列表失败时返回-1pcap_if_t 是pcap_if 重命名而来:typedef struct pcap_if p

2012-02-28 22:29:58 3090

原创 联想B450笔记本拆解步骤

你如果是要清洁这个机器的话,是要把电脑的主板拆下来的,是有点麻烦的。这里大概给你说下步骤:1.先把电池下了。2.把光驱,无线网卡,硬盘下了。3.将主机下面的所有螺丝度下了,注意螺丝的位置,在电脑右上角有个螺丝好像是其他地方的螺丝要长些(总共好想有三种不同的螺丝)。在固定光驱螺丝的附近有一颗螺丝是固定键盘的,这个螺丝要是不下得话,键盘是取 不下来的。4.拆卸键盘盖板:将电脑翻转90度,屏幕后

2012-02-23 11:48:13 8863

算法实验报告

设X[ 0 : n - 1]和Y[ 0 : n – 1 ]为两个数组,每个数组中含有n个已排好序的数利用分治策略试设计一个O (log n)时间的算法求出这2n个数的中位数。 由文件input.txt提供输入数据。文件的第1行中有1个正整数n(ny[m]) { if(count==1) return y[m]; else return mid(x,y+count-m-1,m+1); } else { if(count==1) return x[m]; else return mid(x+count-m-1,y,m+1); } 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1i<jn。试设计一个算法,计算出从游艇出租站1到游艇出租站n所需的最少租金。

2012-02-27

MFC实验报告

编写一个如示例WinMain的Windows应用程序,其中窗口的背景色、光标、图标等属性可以设置成自己喜欢的风格。作为该示例的扩展,要求编程实现当在该窗口中单击右键时,播放一曲自己喜欢的音乐。(4学时) 编写一个如示例ExDlgCtl的MFC对话框应用程序,其中必须实现的功能包括: “对话框”菜单下的模态对话框、非模态对话框和文件对话框; “控件”菜单下的计算器、动态创建按钮、上网问卷调查、调整对话框背景色等四个对话框。 示例中的其它功能可以根据实际情况决定是否编写。(4学时) 3)编写一个如示例ExMenu的MFC菜单、工具栏和状态栏的应用程序,编写该实验时注意功能的完整性,包括两个菜单的切换、右键弹出式菜单、工具栏的切换、状态栏信息格的添加等功能。(4学时) 4)编写一个如示例ExDraw的MFC绘图应用程序,实现画点、线、矩形、椭圆等图形,并可以根据用户选择的画笔和画刷进行绘制,最后要求实现画笔的功能。(4学时) LRESULT CALLBACK WinProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window ) { WNDCLASS wndclas; wndclas.cbClsExtra=0; wndclas.cbWndExtra=0; wndclas.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wndclas.hCursor=LoadCursor(NULL,IDC_ARROW); wndclas.hIcon=LoadIcon(NULL,IDI_EXCLAMATION); wndclas.hInstance=hInstance; wndclas.lpfnWndProc=WinProc; wndclas.lpszClassName="ABCD"; wndclas.lpszMenuName=NULL; wndclas.style=CS_HREDRAW | CS_VREDRAW; RegisterClass(&wndclas;); void CTestView::OnDialogModal() //模态对话框 { // TODO: Add your command handler code here CTestDlg1 dlg; dlg.DoModal(); } void CTestView::OnDialogModalless()//非模态对话框 { // TODO: Add your command handler code here CTestDlg2 *pd=new CTestDlg2(); pd->Create(IDD_DIALOG2,this); pd->ShowWindow(SW_SHOW); } void CTestView::OnDialogFile&#40;&#41; //文件对话框 {

2012-02-27

Column permutation密码编程实现实验报告

密钥的输入和排序; 加密过程,需要按照密钥排出的顺序,将密文按列输出,从而将其进行加密; 解密过程,使用已有的密钥,将密文进行解密,按照密钥的顺序,反加密过程,应用置换原理将明文恢复。 for(p=0;p<MAX;p++) { scanf("%c",&pla;_text[p]); if((pla_text[p]>='a'&&pla;_text[p]<='z')||(pla_text[p]>='A'&&pla;_text[p]<='Z')) continue; else break; } if((p%k)!=0) { for(m=0;m<(k-(p%k));m++) { pla_text[p+m]='q'; } }

2012-02-20

Vigenere的编程实现

Vigenere密码是一个多码加密法,密钥重复循环使用,同一密钥字母可以加密多个明文字母,也可以解密多个密文字母。 加密过程就是给定密钥字母x和明文字母y,密文字母是位于x行和y列的那个字母。这样就决定了加密一条消息需要与消息一样长的密钥字符串,通常,密钥字符串是密钥词的重复。 解密过程就是通过密钥字母确定对应密文字母所在的列,从而找到对应的明文。解密过程中密钥也是重复循环使用的。 while(i<p) { for(j=0;j<k;j++) { if(key[j]>='a'&&key;[j]<='z') m=key[j]-'a'; else if(key[j]>='A'&&key;[j]<='Z') m=key[j]+32-'a'; if(pla_text[i]>='a'&&pla;_text[i]<='z') n=pla_text[i]-'a'; else if(pla_text[i]>='A'&&pla;_text[i]<='Z') n=pla_text[i]+32-'a'; i++; if(i>p) break; table(m,n); } } printf("\n");

2012-02-20

DES的编程实现(实验报告)

1、用户输入密钥56位(7个ASCII)。 2、每隔7位添加奇偶校验位将密钥变为64位,设该64位为key。(由于奇偶校验位并不会参与加密操作,故本程序没有进行64位的拓展操作。) 3、将key穿过PC-1块(Permuted Choice 1,交换选择2),PC-1块用于提取用户输入的56个位,并56个位的排列方式由表一表示。 4、56个位一分为二,每一半都左移1或2位,具体左移1或2位需要看密钥使用是在DES的哪一轮。 5、新的56位用PC-2压缩抛弃8位后为某个阶段生成一个48位的子密钥。 加密过程: 1、将明文块64位分成左右两部分,分别设为L,R。 2、R部分通过E盒扩展为48位,输出的48位与该轮子key进行异或操作。 3、将48位的R部分进行S盒的替代操作,输出32位的新的部分。 4、输出的新的R32位部分在P盒中进行置换操作从而得到新的R部分。 5、此时的R部分与L部分进行异或操作,得到的结果作为下一轮加密的明文R部分而最原始的R部分则作为下一轮加密的明文的L部分。 int PC1_Key(int k[64],int k1[56]); int PC2_Key1(int k[56],int k1[56],int a); int PC2_key2(int k[56],int k1[48]); int Pla_Text(int p[64]); int T_T(int R[32],int L[32]); int E_Box(int R[32],int R1[48]); int S_Boxes(int R[48],int R1[32]); int P_Box(int R2[32],int R3[32]); int XOR(int L[32],int R[32]);

2012-02-20

数学建模实验报告完整版

数学建模实验报告 包括线性规划、非线性规划、无约束优化、拟合、插值等matlab代码及相关总结分析

2012-02-20

数学建模实验报告(拟合)

用给定的多项式,y=x3-6x2+5x-3,产生一组数据(xi,yi,i=1,2,…,n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数),然后用xi和添加了随机干扰的yi作的3次多项式拟合,与原系数比较。 如果作2或4次多项式拟合,结果如何? 三次拟合: x=1:0.5:10; y=x.^3-6*x.^2+5*x-3; y1=y; for i=1:length(y) y1(i)=y1(i)+rand; end

2012-02-20

数学建模实验报告(插值)

在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入。 x=[129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5]; y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5]; z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9]; xi=75:1:200; yi=-50:1:150; figure(1) z=griddata(x,y,z,xi,yi','cubic');

2012-02-20

数学建模实验报告(无约束优化)

某酒厂有批新酿的好酒,如果现在就出售,可得总收入=50万元(人民币),如果窖藏起来待来日(第年)按陈酒价格出售,第年末可得总收入(万元),而银行利率为=0.05,试分析这批好酒窖藏多少年后出售可使总收入的现值最大. (假设现有资金万元,将其存入银行,到第年时增值为万元,则称为的现值.)并填下表. 第一种方案: >>r=0.05; for n=1:15; z1(n)=50*(1+r)^n-50; n=n+1; end z1 第二种方案: >>for n=1:15; z2(n)=50*exp(sqrt(n)/6)-50; end z2

2012-02-20

数学建模实验报告(非线性规划)

某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为 (元),其中x是该季生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a、b、c变化对计划的影响,并作出合理的解释.. 先建立M-文件 fun.m: function f=fun(x); f=14920+0.4*x(1)*x(1)+0.4*x(2)*x(2)+0.4*x(1)*x(2)-64*x(1)-68*x(2); 再建立主程序xx.m: x0=[0;0]; A=[-1 -1;1 1]; b=[-100;180]; Aeq=[];beq=[]; vlb=[40;0];vub=[100;100]; [x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)

2012-02-20

数学建模实验报告(线性规划)

某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划. >>c=[-10 -9]; A=[6 5; 10 20;1 0]; b=[60;150;8]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[]; [z0,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

2012-02-20

数据结构实验报告四

掌握静态查找表和动态查找表的抽象数据类型特征。 掌握将台查找表和动态查找表的实现方法。 学会在顺序表、二叉排序树上设计查找算法,学会根据关键字特征设计哈希函数,设计哈希表,并实现哈希表查找过程。 描述你在进行实现时,主要的函数或操作内部的主要算法,分析这个算法的时、空复杂度,并说明你设计的巧妙之处。 主要函数: void creat();//创建二叉树 void insert(Node *s);//插入元素 void bstsrch(Node *t,int k);//查找关键项; 内部算法:在二叉排序树上进行查找,是一个从根开始,沿某一个分支逐层向下进行比较判等的过程。在二叉排序树中查找关键字,查找过程从根结点开始。如果根指针为NULL,则查找不成功;否则用给定值 x 与根结点的关键字进行比较:如果给定值等于根结点的关键字,则查找成功。 如果给定值小于根结点的关键字,则继续递归查找根结点的左子树;否则。递归查找根结点的右子树。

2012-02-19

数据结构实验报告三

(1) 掌握树、图的抽象数据类型的特征。 (2) 掌握树和图的抽象数据类型在计算机中的实现方法。 (3) 学会使用树和图结构解决一些设计问题。 描述你在进行实现时,主要的函数或操作内部的主要算法,分析这个算法的时、空复杂度,并说明你设计的巧妙之处。 主要函数及算法: void CreatGraph(VNode A[MAX]);//创建邻接表 void DFS(VNode A[MAX]);//实现深度优先搜索 内部算法:确定起始顶点 v 后, 由 v 出发, 访问它的任一邻接顶点 w1; 再从 w1 出发,访问与 w1邻接但还没有访问过的顶点 w2; 然后再从 w2 出发, 进行类似的访问, 如此进行下去, 直至到达所有的邻接顶点都被访问过的顶点 u 为止。接着, 退回一步, 退到前一次刚访问过的顶点, 看是否还有其它没有被访问的邻接顶点。如果有, 则访问此顶点, 之后再从此顶点出发, 进行与前述类似的访问; 如果没有, 就再退回一步进行查找。 void BFS(VNode A[MAX]);//实现广度优先搜索 内部算法:在访问了起始顶点 v 之后, 由 v 出发, 依次访问 v 的各个未被访问过的邻接顶点 w1, w2, …, wt, 然后再顺序访问 w1, w2, …, wt 的所有还未被访问过的邻接顶点。再从这些访问过的顶点出发,再访问它们的所有还未被访问过的邻接顶点,… 如此做下去,直到图中所有顶点都被访问到为止。

2012-02-19

数据结构实验报告(二)

一、实验目的 掌握栈、队列、串和数组的抽象数据类型的特征。 掌握栈、队列、串和数组的抽象数据类型在计算机中的实现方法。 学会使用栈、队列来解决一些实际的应用问题。 (1)描述你在进行实现时,主要的函数或操作内部的主要算法,分析这个算法的时、空复杂度,并说明你设计的巧妙之处。 int InitStack(SeqStack *s) //建立栈 char push(SeqStack *s,int x) //入栈 char pop(SeqStack *s) //出栈 int Empty(SeqStack *s) //判断栈是否为空 int correct(char exp[]) //检验是否匹配 算法: 读入表达式 1)凡出现左括弧,则进栈; 2)凡出现右括弧,首先检查栈是否空 若栈空,则表明该“右括弧”多余, 否则和栈顶元素比较, 若相匹配,则“左括弧出栈” , 否则表明不匹配 3)表达式检验结束时, 若栈空,则表明表达式中匹配正确, 否则表明“左括弧”有余。

2012-02-19

数据结构实验报告一

一、实验目的 掌握线性表的基本操作(插入、删除、查找)以及线性表合并等运算在顺序存储结构、链式存储结构上的实现。重点掌握链式存储结构实现的各种操作。 掌握线性表的链式存储结构的应用。 (1)描述你在进行实现时,主要的函数或操作内部的主要算法,分析这个算法的时、空复杂度,并说明你设计的巧妙之处。 主要函数: void create(Poly &L); 输入并建立多项式L,该函数首相确定多项式的项数,从而容易实现所输入多项式何时结束的判断。 void display(Poly L); //显示输出多项式L, void sort(Poly &L); //多项式L按指数排序 void add(Poly La,Poly Lb,Poly &Lc;); //多项式La,Lb相加 void subtract(Poly La,Poly Lb,Poly &Ld;); //多项式La减去Lb,结果给Ld 相加和相减两个函数同采用while循环,将pa && pb作为判断条件,从而可在不知道两个多项式项数的情况下,有一个多项式遍历比较结束就会停止,程序继续想下一步进行。

2012-02-19

数据结构算法C语言代码

该代码集包含了数据结构课程所涉及的算法的C语言实现代码,以及一些经典的算法C语言实现代码。例如二分查找(截取部分代码): int search_bin(char *t,char k) { int low=1,high=10,mid; while (low<=high) { mid=(low+high)/2; if (k==t[mid]) return mid; else if (k<t[mid]) high=mid-1; else low=mid+1; } return 0; }

2012-02-19

汇编实验报告

实验的预习内容 1、循环结构程序设计实验: 学习循环结构程序的组成以及各部分的作用:初始化部分、工作部分、修改部分、控制部分;学习掌握常用的循环控制指令和数据串操作指令及其使用方法;学习掌握常见的循环程序的控制方法,并根据问题需要能够选择合适的控制方法并应用;学习掌握单重循环与多重循环的区别与联系,并熟练应用,并注意在程序设计中循环程序执行的效率问题。 子程序设计实验: 了解子程序的优点,以及子程序设计过程中需要注意的问题;学习掌握子程序定义的伪指令以及调用和返回指令及其使用方法;学习编写子程序说明文件;掌握常用的参数传递方法:约定寄存器法、约定存储单元法、堆栈法、约定参数地址指针法;注意在子程序设计过程中对现场的保护和恢复。

2012-02-16

VMware_tools_linux

VirtualBox 可以在 Linux 和 Windows 主机中运行,并支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。

2012-02-16

四级成绩计算器

四级710分制计算器 将百分之成绩换算成710分制

2012-02-16

深入浅出MFC

深入浅出MFC是学习Visual C++编程的必备工具教程 堪称经典 适用于各个层次水平的开发者

2012-02-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除