摘要: 现代程序设计作业9问题需求这次作业要求将之前做过的最大子数组和问题的动态规划过程用程序展示出来,并实现控制输入文件、随机生成文件、逐步执行、自动逐步执行和改变模式等功能。解决方案由于在网页上实现有加分,又本着顺便学一学web开发的想法,我选择了网页实现。html是完全静态的很好学,但javascript跟我之前接触过的语言有较大不同,学起来花了不少时间(当然乍一看js还是跟主流语言很像的)。文件读入首先在读入文件上花了点功夫。我想实现的是一个最常见的上传文件的功能。包含一个浏览按钮,点击后弹出文件浏览器,选择之后再提交,并让js获取文件进行之后的处理。控件之类的很好弄,关键是如何把文件提交到本 阅读全文
posted @ 2013-12-07 19:49 zjoe 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 现代程序设计作业6吐槽注:下面这些话不是写给助教的,话语偏激请见谅。这次作业是要补写一个围棋程序。该程序用c#编写,实现了两个人在同一程序 下的对弈功能,并且可以向前向后浏览棋局每步的历史记录,或从文件 中读取棋局。但是程序缺少了关键的“后退”函数,需要补写,并进行改进。不得不说这个程序写的实在是够垃圾。一个功能如此简单的程序,用c#这 样相当高级的语言写,竟然写了1500行,令人叹为观止。而且程序的逻辑 相当混乱,好像是故意要迷惑人一样,有相当多的完全没有用处的废话。 让人不禁一愣:这句话这么写是个什么意思?想了好久发现:哦,完全是 作者脑残而已。当然原作者还是很良心的加了许多注释,但有的人 阅读全文
posted @ 2013-11-24 23:16 zjoe 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 现代程序设计第八次作业1. 理解C++变量的作用域和生命周期对一个C++变量来说,有两个属性非常重要:作用域和生命周期,它们 从两个不同的维度描述了一个变量--时间和空间。顾名思义,作用域就 是一个变量可以被引用的范围,如:全局作用域、文件作用域、局部作 用域;而生命周期就是这个变量可以被引用的时间段。不同生命周期的 变量,在程序内存中的分布位置是不一样的。一个程序的内存分为代码 区、全局数据区、堆区、栈区,不同的内存区域,对应不同的生命周期。全局变量作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件。)生命周期:程序运行期一直存在引用方法:其他文件中要使用必须用ex 阅读全文
posted @ 2013-11-17 16:34 zjoe 阅读(241) 评论(0) 推荐(0) 编辑
摘要: C++11新特性学习本人几乎没有写过C++,所写内容完全建立在与其他语言的比较上。观点偏激请见谅。阅读的博客我阅读了如下文章:http://blog.csdn.net/hzyong_c/article/details/8273884http://zhangjunxin520.blog.163.com/blog/static/3050370320116210101891/http://www.cnblogs.com/zhuyp1015/archive/2012/04/08/2438176.htmlhttp://www.cnblogs.com/haippy/archive/2013/05/31/3 阅读全文
posted @ 2013-11-09 21:32 zjoe 阅读(190) 评论(1) 推荐(0) 编辑
摘要: 接口声明/regGET:输出一个注册表单,其中id:用户名pd:密码POST:接收一个表单{id="",pd=""},返回:0:注册成功-1:注册失败/attendGET:输出一个游戏参与表单,其中id:用户名pd:密码num:1-100之间的实数,表示所要提交的数字POST:接受一个表单(id="",pd="",num=""),返回:-1:用户名不存在-2:密码错误-3:数字范围出错(必须在1-100之间)-4:游戏结束 left_time+","+now_turn+&qu 阅读全文
posted @ 2013-11-04 01:48 zjoe 阅读(224) 评论(1) 推荐(0) 编辑
摘要: Word Search编码规范用c写的。因为我们最初定位就是写一个简单粗暴的方法,涉及不到很复杂的类。当然最主要的原因还是we like c!由于本着“简单”的思想,写函数的时候尽量考虑到了功能的明确与分离,这样代码更易读。思路初看这个题感觉相当难。连最朴素的算法都很难写,状态太多了。老师请来的同事讲解之后也没什么收获,都是最容易想到的东西。难写不怕,求出的解差也不怕,就怕又难写结果又差,花很大功夫写出一个很难看的东西,是我最不愿意见到的。跟小伙伴纠结了好久,怎么都感觉无从下手。一直到周一晚上都没写(也有一部分原因是本系课程很紧,实在没什么时间写这个。因为之前说周二中午前交的,所以准备周一晚上 阅读全文
posted @ 2013-10-29 01:42 zjoe 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 作业2的图形化处理基本思路这个问题本身很容易,但无奈老师的要求实在是奇怪。要从命令行 启动程序,并且多次运行后只保留一个程序在运行。已经都写UI了 为何还要用命令行控制?如果非要满足这个要求,还需要写很麻烦 的进程切换,所以我没有完全按照老师的要求写。我的想法是用UI 作为主控程序,直接在UI内实现参数的输入。输入后用户按下按钮 触发一个过程,在这个过程中实现如下功能:分离参数将参数传递给计算程序,执行计算获取计算结果新建tab并显示结果这样实现的话计算程序运行完后就退出了,所以系统中不会有两个 maxsum在运行。实现由于最近一直在linux下学习,所以决定采用gtk来实现。Gtk是用c 语 阅读全文
posted @ 2013-10-20 21:38 zjoe 阅读(152) 评论(2) 推荐(0) 编辑
摘要: 最大子数组和问题的扩展综述这次作业是在第一次作业基础上进行的扩展。需要完成的任务有如下几个:以命令行参数的形式传入输入文件名等控制参数,并对输入文件的正确性进行检验,保证程序不会崩溃。处理一维和二维子矩阵的情况处理数组左右边界相连或上下边界相连的情况,以-v表示左右相连,-h表示上下相连。这两个参数可以同时出现。将最大子矩阵的“矩阵”条件降低为“连通子块”,上下或左右相邻视为连通。以-a表示。考虑-a与-h和-v参数共存的情况。分析参数传入与输入检测程序用c语言编写,所以参数传入靠main函数的argc和argv参数实现。我首先考虑了参数个数。由于-a,-h,-v最多各出现一次,加上输入文件名 阅读全文
posted @ 2013-09-30 16:49 zjoe 阅读(193) 评论(1) 推荐(0) 编辑
摘要: 话说好不容易选上这门课了,却也已经错过第一次课了。作业也是妥妥的迟了,趁着中秋赶紧补上,望老师见谅。 参考书选择代码大全。最大子数组和问题分析一维情况 首先想到的应该是O(n^2)的算法(一般不会想到n^3方的算法吧。。略蛋疼)。用sum[i]表示数组中1到i的和,并令sum[0]=0。f[i]表示以i结尾的最大子数组和。那么有f[i]=Max{sum[i]-sum[j]|0 2 #define MAXN 100000000 3 FILE *fin,*fout; 4 int main(void) 5 { 6 fin=fopen("in.txt","r") 阅读全文
posted @ 2013-09-22 20:14 zjoe 阅读(215) 评论(0) 推荐(1) 编辑