使用C++实现从一个txt文件中读入一个40*80的字符数组,判断是否为A,如果是,将其变为x,然后转到A的邻居,判断邻居中是否有A,如果有的话,也将其变为X,如此循环
1
假设M个生产者和N个消费者共享一个具有K(K大于1)个缓冲区的循环缓冲结构BUFFER(提示:可以用一个循环队列或一个整型数组来表示),并设置两个指针IN和OUT,其中IN指向生产者线程当前可用的空缓冲区的在BUFFER中的下标,OUT指向消费者线程当前可用的满缓冲区在BUFFER中的下标。
生产者线程和消费者线程并发执行,当无空缓冲区时,生产者线程阻塞;
当无满缓冲区时消费者线程阻塞,并且多个生产者线程对IN的使用必须互斥,多个消费者线程对OUT的使用也必须互斥
2024/10/18 17:47:39 5KB 生产者消费者
1
*问题描述:一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示),*要么是障碍物(用0表示)。
找出从起点到终点的最短移动序列,其中U,D,L,R,*分别代表往上,下,左,右移动到相邻单元格。
任何时候都不能在障碍格中,*也不能走到迷宫之外,起点和终点保证是空地。
n,m<=100.**分析:可以使用bfs,节点的访问顺序恰好是它们从根节点距离从小到大的顺序。
类*似的,也可以用bfs来按照起点的距离顺序遍历迷宫图。
不断沿着父亲指针走,*保存方向序列dir,最后反向输出。
*比深度优化的效率要高很多,因为每次都定义了活结点还有下一个扩展节点,*在活结点当中去寻找扩展节点,不会盲目的搜索到底,而是有一定的选择性。
*因此我们可以定义记录扩展节点的数组,并且定义函数来判断,看下一层将要*被搜索的节点是不是能够作为扩展节点。
这就运用到了分支限界的知识。
*
2024/10/17 14:52:18 6KB 分析与详解代码部分。
1
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。
基本信息原书名:TheC++ProgrammingLanguage,SpecialEdition原出版社:AddisonWesley作者:(美)BjarneStroustrup译者:裘宗燕丛书名:计算机科学丛书出版社:机械工业出版社ISBN:7111102029上架时间:2002-7-12出版日期:2002年7月页码:936版次:1-1内容简介  本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。
标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。
本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。
本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。
适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。
[center][ahref=http://www.china-pub.com/main/sale/c++tb.htmtarget=_blank]c++之父bjarnestroustrup博士专访[/a]  [ahref="http://www.is.pku.edu.cn/~qzy/cpp.htm"target="_blank"]《c++程序设计语言》程序的更正和更新[/a]  [ahref="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip"target="_blank"]本书忠告[/a][/center]作译者作者:BjarneStroustrupBjarneStroustrup现任AT&T实验室的大型程序设计研究部的主管。
1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。
1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的GraceMurrayHopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。
1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。
[同作者作品]C++程序设计语言(特别版)(英文影印版)C++语言的设计和演化[按需印刷]C++程序设计语言(特别版)译者:裘宗燕知名译者,翻译严谨,喜与读者交流。
  裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。
已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999)[同作者作品]计算机基础教程(上下)(文科类)(裘宗燕等)数据结构——C++与面向对象的途径数据结构--C++与面向对象的途径(修订版)目录出版者的话专家指导委员会中文版序译者序序第2版序第1版序导论第1章致读者31.1本书的结构31.1.1例子和参考41.1.2练习51.1.3有关实现的注记51.2学习c++61.3c++的设计71.3.1效率和结构81.3.2哲学注记91.4历史注记91.5c++的使用111.6c和c++12.1.6.1给c程序员的建议131.6.2给c++程序员的建议131.7有关在c++里编程的思考141.8忠告151.9参考文献16第2章c++概览192.1为什么是c++192.2程序设计范型192.3过程式程序设计202.3.1变量和算术212.3.2检测和循环222.3.3指针和数组232.4模块程序设计232.4.1分别编译242.4.2异常处理252.5数据抽象262.5.1定义类型的模块272.5.2用户定义类型282.5.3具体类型292.5.4抽象类型312.5.5虚函数332.6面向对象的程序设计332.6.1具体类型的问题332.6.2
2024/10/13 4:51:33 51.87MB C++ 程序设计语言 特别版 详细书签版
1
《C和指针》提供与C语言编程相关的全面资源和深入讨论。
《C和指针》通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。
书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成
2024/10/13 3:32:42 29.13MB c和指针 pdf 下载 编程
1
voidCFunction::CreatGauss(doublesigma,double**pdKernel,int*pnWidowSize){LONGi;//数组中心点intnCenter;//数组中一点到中心点距离doubledDis;//中间变量doubledValue;doubledSum;dSum=0;//[-3*sigma,3*sigma]以内数据,会覆盖绝大部分滤波系数*pnWidowSize=1+2*ceil(3*sigma);nCenter=(*pnWidowSize)/2;*pdKernel=newdouble[*pnWidowSize];//生成高斯数据for(i=0;i<(*pnWidowSize);i++)
2024/10/12 21:45:37 16KB C++边缘检测
1
本框架提供了有关粒子群算法(PSO)和遗传算法(GA)的完整实现,以及一套关于改进、应用、测试、结果输出的完整框架。
本框架对粒子群算法与遗传算法进行逻辑解耦,对其中的改进点予以封装,进行模块化,使用者可以采取自己对该模块的改进替换默认实现组成新的改进算法与已有算法进行对比试验。
试验结果基于Excel文件输出,并可通过设定不同的迭代结束方式选择试验数据的输出方式,包括:1.输出随迭代次数变化的平均达优率数据(设定终止条件区间大于0)。
2.输出随迭代次数变化的平均最优值数据(设定终止条件区间等于0)。
本框架了包含了常用基准函数的实现以及遗传算法与粒子群算法对其的求解方案实现和对比,如TSP,01背包,Banana函数,Griewank函数等。
并提供大量工具方法,如KMeans,随机序列生成与无效序列修补方法等等。
对遗传算法的二进制编码,整数编码,实数编码,整数序列编码(用于求解TSP等),粒子群算法的各种拓扑结构,以及两种算法的参数各种更新方式均有实现,并提供接口供使用者实现新的改进方式并整合入框架进行试验。
其中还包括对PSO进行离散化的支持接口,和自己的设计一种离散PSO方法及其用以求解01背包问题的实现样例。
欢迎参考并提出宝贵意见,特别欢迎愿意协同更新修补代码的朋友(邮箱starffly@foxmail.com)。
代码已作为lakeast项目托管在GoogleCode:http://code.google.com/p/lakeasthttp://code.google.com/p/lakeast/downloads/list某些类的功能说明:org.lakest.common中:BoundaryType定义了一个枚举,表示变量超出约束范围时为恢复到约束范围所采用的处理方式,分别是NONE(不处理),WRAP(加减若干整数个区间长度),BOUNCE(超出部分向区间内部折叠),STICK(取超出方向的最大限定值)。
Constraint定义了一个代表变量约束范围的类。
Functions定义了一系列基准函数的具体实现以供其他类统一调用。
InitializeException定义了一个代表程序初始化出现错误的异常类。
Randoms类的各个静态方法用以产生各种类型的随机数以及随机序列的快速产生。
Range类的实现了用以判断变量是否超出约束范围以及将超出约束范围的变量根据一定原则修补到约束范围的方法。
ToStringBuffer是一个将数组转换为其字符串表示的类。
org.lakeast.ga.skeleton中:AbstractChromosome定义了染色体的公共方法。
AbstractDomain是定义问题域有关的计算与参数的抽象类。
AbstractFactorGenerator定义产生交叉概率和变异概率的共同方法。
BinaryChromosome是采用二进制编码的染色体的具体实现类。
ConstantFactorGenerator是一个把交叉概率和变异概率定义为常量的参数产生器。
ConstraintSet用于在计算过程中保存和获取应用问题的各个维度的约束。
Domain是遗传算法求解中所有问题域必须实现的接口。
EncodingType是一个表明染色体编码类型的枚举,包括BINARY(二进制),REAL(实数),INTEGER(整型)。
Factor是交叉概率和变异概率的封装。
IFactorGenerator参数产生器的公共接口。
Population定义了染色体种群的行为,包括种群的迭代,轮盘赌选择和交叉以及最优个体的保存。
org.lakeast.ga.chromosome中:BinaryChromosome二进制编码染色体实现。
IntegerChromosome整数编码染色体实现。
RealChromosome实数编码染色体实现。
SequenceIntegerChromosome整数序列染色体实现。
org.lakeast.pso.skeleton中:AbstractDomain提供一个接口,将粒子的位置向量解释到离散空间,同时不干扰粒子的更新方式。
AbstractF
2024/10/11 21:51:28 1.42MB 遗传算法 粒子群算法 GA PSO
1
[图书简介] 本书是一本c#编程方面的优秀教材,全面介绍了c#编程的原理和方法,涉及类与对象、控制语句、方法、数组、继承、多态、异常处理、gui、多线程、多媒体、xml、数据库与sql、asp.net、web服务、网络、查找与排序、数据结构、泛型、集合等基本概念及应用方法。
本书介绍最新c#版本visualc#2008的关键新特性,包括linq特性、使用linqtosql的数据库、wpfgui和图形、wcfweb服务、asp.net3.5与asp.netajax、silverlight2技术、支持linq的新语言特性、隐式类型局部变量和自实现属性。
.  本书可作为高等院校相关专业的编程语言教材和c#编程教材,也是软件设计人员进行c#程序开发的宝贵参考资料。
...[图书目录]第1章计算机、internet与visualc#简介.1.1简介1.2什么是计算机1.3计算机组织1.4个人计算、分布式计算与客户/服务器计算1.5硬件发展趋势1.6microsoft的windows操作系统1.7机器语言、汇编语言和高级语言1.8visualbasic1.9c、c++和java1.10visualc#1.11其他高级语言1.12结构化编程1.13关键软件发展趋势:对象技术1.14internet与万维网1.15xml1.16microsoft的.net1.17.net框架与公共语言运行环境1.18尝试c#高级绘图程序1.19(必读)软件工程案例研究:对象技术与uml简介.1.20总结1.21web资源第2章visualc#2008express简介2.1简介2.2visualstudio2008ide概述2.3菜单栏与工具栏2.4visualstudioide导航2.5使用帮助2.6用可视编程生成简单程序,显示文本与图形2.7总结2.8web资源第3章c#程序简介3.1简介3.2简单c#程序:显示一行文本3.3在visualc#express中创建简单程序3.6另一个c#程序:整数相加第4章类与对象简介4.1简介4.2类、对象、方法、属性和实例变量4.3声明带方法的类和实例化类的对象4.4声明带参数的方法4.5实例化变量与属性4.6带属性的uml类框图4.7带属性和set与get访问方法的软件工程4.8自实现属性4.9值类型与引用类型4.10用构造函数初始化对象4.11浮点数与decimal类型4.12(选读)软件工程案例研究:确定atm需求文档中的类4.13总结第5章控制语句:第一部分5.1简介5.2算法5.3伪代码5.4控制结构5.5订单选择语句5.6ifelse双选择结构5.7while重复语句5.8构造算法:计数器控制重复5.9构造算法:标记控制重复5.10构造算法:嵌套控制语句5.11复合赋值运算符5.12自增和自减运算符5.13简单类型5.14(选读)软件工程案例研究:确定atm系统的类属性5.15总结第6章控制语句:第二部分6.1简介6.3for循环语句6.4for循环使用举例6.5dowhile重复语句6.6switch多选择语句6.7break与continue语句6.8逻辑运算符6.9结构化编程小结6.10(选读)软件工程案例研究:确定atm系统中对象的状态和活动6.11总结第7章方法详述7.1简介7.2c#代码包装7.3静态方法,静态变量和math类7.4声明多参数方法7.3关于方法声明与使用7.6方法调用堆栈与激活记录7.7变元提升与类型转换7.8.net框架类库7.9案例研究:随机数生成7.10案例研究:机会游戏(引入枚举)7.11声明作用域7.12方法重载7.13递归7.14按值与按引用传递变元7.15(选读)软件工程案例研究:确定atm的类操作7.16总结第8章数组8.1简介8.2数组8.3声明与创建数组8.4数组使用举例8.5案例研究:洗牌与发牌模拟8.6foreach语句8.7将数组与数组元素传人方法8.8按值与按引用传递数组8.9案例研究:gradebo
2024/10/11 0:26:29 368.19MB C#
1
这是数据结构课程作业,用二次探测再散列法解决冲突建立哈希表并查找从键盘读入待查找的权重数值,以除留余数法为哈希函数,二次探测再散列法解决冲突建立哈希表,基于哈希算法从数组中查找相应的记录,计算相应的查找时间,并在屏幕上输出显示。
1
一、实验题目:页面置换算法(请求分页)二、实验目的:进一步理解父子进程之间的关系。
1)理解内存页面调度的机理。
2)掌握页面置换算法的实现方法。
3)通过实验比较不同调度算法的优劣。
4)培养综合运用所学知识的能力。
页面置换算法是虚拟存储管理实现的关键,通过本次试验理解内存页面调度的机制,在模拟实现FIFO、LRU等经典页面置换算法的基础上,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。
将不同的置换算法放在不同的子进程中加以模拟,培养综合运用所学知识的能力。
三、实验内容及要求这是一个综合型实验,要求在掌握父子进程并发执行机制和内存页面置换算法的基础上,能综合运用这两方面的知识,自行编制程序。
程序涉及一个父进程和两个子进程。
父进程使用rand()函数随机产生若干随机数,经过处理后,存于一数组Acess_Series[]中,作为内存页面访问的序列。
两个子进程根据这个访问序列,分别采用FIFO和LRU两种不同的页面置换算法对内存页面进行调度。
要求:1)每个子进程应能反映出页面置换的过程,并统计页面置换算法的命中或缺页情况。
设缺页的次数为diseffect。
总的页面访问次数为total_instruction。
缺页率=disaffect/total_instruction命中率=1-disaffect/total_instruction2)将为进程分配的内存页面数mframe作为程序的参数,通过多次运行程序,说明FIFO算法存在的Belady现象。
2024/10/5 7:39:41 3.68MB 操作系统 上机 实验报告 页面置换
1
共 680 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡