代码改变世界

随笔分类 -  C++

蓝桥杯地铁换乘问题

2013-04-11 13:11 by Lves Li, 301 阅读, 收藏,
摘要: 为解决交通难题,某城市修建了若干条交错的地铁线路,线路名及其所属站名如stations.txt所示。线1苹果园....四惠东线2西直门车公庄....建国门线4....其中第一行数据为地铁线名,接下来是该线的站名。当遇到空行时,本线路站名结束。下一行开始又是一条新线....直到数据结束。如果多条线拥有同一个站名,表明:这些线间可以在该站换车。为引导旅客合理利用线路资源,解决交通瓶颈问题,该城市制定了票价策略:1.每条线路可以单独购票,票价不等。2.允许购买某些两条可换乘的线路的联票。联票价格低于分别购票。单线票价和联合票价如price.txt所示。线1180.....线13114线1,线2350 阅读全文

二阶魔方(2013蓝桥杯模拟)

2013-04-06 17:37 by Lves Li, 450 阅读, 收藏,
摘要: 题目标题:二阶魔方魔方可以对它的6个面自由旋转。我们来操作一个2阶魔方(如图1所示)为了描述方便,我们为它建立了坐标系。各个面的初始状态如下:x轴正向:绿x轴反向:蓝y轴正向:红y轴反向:橙z轴正向:白z轴反向:黄假设我们规定,只能对该魔方进行3种操作。分别标记为:x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转z 表示在z轴正向做顺时针旋转基本旋转后的效果如图2,3,4所示。xyz 则表示顺序执行x,y,z 3个操作题目的要求是:从标准输入获得一个串,表示操作序列。程序输出:距离我们最近的那个小方块的3个面的颜色。顺序是:x面,y面,z面。例如:在初始状态,应该输出:绿红白初始状 阅读全文

词法分析器实验报告

2013-03-29 17:44 by Lves Li, 559 阅读, 收藏,
摘要: 词法分析器实验报告1.实验平台:visualstudio20102.实验目的设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。3.数字状态转换图:4本程序自行规定:(1)关键字"begin","end","if","then","else","while","write","read","do","call","const","char" 阅读全文

二叉排序树

2012-11-30 21:02 by Lves Li, 218 阅读, 收藏,
摘要: 二叉排序树操作:实现二叉排序树的创建、遍历、查找、插入和删除操作。说明:1、按教材中算法创建二叉排序树;2、实现二叉排序树的升序遍历;3、给定元素值查找结点指针位置,找到返回其指针,并利用指针输出元素值,未找到则插入之;4、删除指定元素值的结点,保持二叉排序树性质不变;5、程序提供简单功能菜单#include using namespace std;//声明二叉排序树typedef struct BSTNode{int key; struct BSTNode *lchild,*rchild;}BSTNode,*BSTree;//声明插入函数void InsertKey(BSTree T,in. 阅读全文

二叉树操作

2012-11-29 21:10 by Lves Li, 236 阅读, 收藏,
摘要: 二叉树操作:实现以二叉链表为存储结构的二叉树的创建、遍历、查找、插入和删除操作。说明:1、按先序遍历思想创建二叉树;2、分别实现中序遍历和层次遍历;3、给定元素值查找结点指针位置并返回其指针,可利用指针引用data域输出;4、实现插入左右孩子操作,指定元素值,找到结点后若已存在对应位置的孩子结点则不插入;5、删除指定元素值的结点,若该结点存在子树则将其子树所有结点全部删除回收;6、程序提供简单功能菜单// TreeTest1.cpp : 定义控制台应用程序的入口点。//#include using namespace std;//定义一个二叉树 数据结构typedef struct BiTNo 阅读全文

工信部软件大赛(解析bmp)

2012-11-24 17:57 by Lves Li, 197 阅读, 收藏,
摘要: 题目:BMP是常见的图像存储格式。如果用来存黑白图像(颜色深度=1),则其信息比较容易读取。与之相关的数据:(以下偏移均是从文件头开始)偏移:10字节, 长度4字节: 图像数据真正开始的位置。偏移:18字节, 长度4字节: 位图的宽度,单位是像素。偏移:22字节, 长度4字节: 位图的高度,单位是像素。从图像数据开始处,每个像素用1个二进制位表示。从图片的底行开始,一行一行向上存储。Windows规定图像文件中一个扫描行所占的字节数必须是4字节的倍数,不足的位均以 0 填充。例如,图片宽度为45像素,实际上每行会占用8个字节。可以通过Windows自带的画图工具生成和编辑二进制图像。需要在“属 阅读全文

解析bmp图像(某年全国软件大赛题目)

2012-11-23 20:51 by Lves Li, 261 阅读, 收藏,
摘要: 题目:BMP是常见的图像存储格式。如果用来存黑白图像(颜色深度=1),则其信息比较容易读取。与之相关的数据:(以下偏移均是从文件头开始)偏移:10字节, 长度4字节: 图像数据真正开始的位置。偏移:18字节, 长度4字节: 位图的宽度,单位是像素。偏移:22字节, 长度4字节: 位图的高度,单位是像素。从图像数据开始处,每个像素用1个二进制位表示。从图片的底行开始,一行一行向上存储。Windows规定图像文件中一个扫描行所占的字节数必须是4字节的倍数,不足的位均以 0 填充。例如,图片宽度为45像素,实际上每行会占用8个字节。可以通过Windows自带的画图工具生成和编辑二进制图像。需要在“属 阅读全文

C++二维数组做形参

2012-11-21 12:42 by Lves Li, 531 阅读, 收藏,
摘要: 二位数组作为形参,目前仅知道两种形式,一种直接采用二维数组,一种是用二维指针。以下是做的一个简单的实例。大家帮我看看,在实际应用中两者有和优缺点。当然,有更好的方式更好了。以下均应用在字符串数组中void array_test1(char **pArray,int row,int col){ char ptr[10] = {0}; for(int i=0;i<cnt;i++) { for(int j=0;j<lnt;j++) { ptr[j] = *((char*)test + col*i + j);//二维指针只表示二维数组头... 阅读全文

动态链表练习(单线链表)

2012-11-12 21:05 by Lves Li, 158 阅读, 收藏,
摘要: #include "stdafx.h"#include using namespace std;struct Data //结构体定义{int data;Data *next;};int n;int main ( ) //主函数{Data * creat(void ) ; //声明创建函数 Data * del(Data * ,int );//声明删除函数Data *insert (Data * head,Data * da);//声明插入函数void print (Data *head);//声明输出函数int look(Data *head, int a); ... 阅读全文

解析网页(KMP算法实现部分)

2012-11-03 16:49 by Lves Li, 230 阅读, 收藏,
摘要: 用kmp算法实现在一个网页内网址的提取,整个项目在这点击打开链接。只要把里边的kmpDlg.cpp文件了的部分内容用以下代码替换即可。kmp算法无回溯的查找匹配串所在位置,效率更高·····void CKmpDlg::OnButtonKmp() {// TODO: Add your control notification handler code here//参照CKmpDlg::OnButtonLink()函数,填写完整,将函数中Find函数部分皆改写为//KMP算法,提示:CString类型变量可通过下标引用单个字符元素,如m_EditR 阅读全文

运算符重载小程序(对Data类的++,<<,>>的重载)

2012-04-27 10:46 by Lves Li, 216 阅读, 收藏,
摘要: // Data.cpp : 定义控制台应用程序的入口点。 //运算符重载 自加运算符和输出输入运算符的重载 自加运算符在日期增加时可以判断平年还是闰年 #include "stdafx.h" #include using namespace std; class MyData //定义一个Data类有三个数据成员 {private : int year; int month; int day; public : MyData (){year=0; month=0; day=0;} MyData(int y,int m,int d) { year=y; month=... 阅读全文

运算符重载(++,<<,>>Data类的重载)

2012-04-27 10:43 by Lves Li, 215 阅读, 收藏,
摘要: // Data.cpp : 定义控制台应用程序的入口点。 //运算符重载 自加运算符和输出输入运算符的重载 自加运算符在日期增加时可以判断平年还是闰年 #include "stdafx.h" #include using namespace std; class MyData //定义一个Data类有三个数据成员 {private : int year; int month; int day; public : MyData (){year=0; month=0; day=0;} MyData(int y,int m,int d) { year=y; month=... 阅读全文