基于定长顺序存储结构实现对串的赋值、串比较、求子串的位置、串替换等操作。要求所有操作均以函数的形式实现,在主函数中调用各个函数实现整体功能。 注意:每一个字符串的第一个元素存放的是该字符串的长度(不包括第一个元素),除串的赋值外,其他所有操作(比较、求子串的位置、串替换)等都不应包含该字符。 1.1.实验1:串赋值函数实现: 按照系统已经定义的函数接口编写函数实体,实现:将输入数组StrInput[]的数据赋值给待赋值数组StrTobeAssigned[],其中待赋值数组StrTobeAssigned[0]存放有效数据的长度,StrTobeAssigned[1]之后存放带赋值数据。 具体要求和相关假设为: ① 函数接口定义为:int MyStrAssign(char * StrTobeAssigned, char * StrInput); ② 输入参数:待赋值字符串变量StrTobeAssigned,字符串的期望值StrInput; ③ 输出参数:无; ④ 处理规则及返回值:将StrTobeAssigned[1]及之后的内容赋值为StrInput的有效内容,StrTobeAssigned[0]赋值为StrInput有效字符的长度,并返回1; ⑤ 假设: a)两个字符串均不为空串; b)StrInput存放的是一个完成的字符串(不包含长度); c)赞不考虑输入数据超过数组总长度的情况。 1.2实验2:串替换函数: 按照系统已经定义的函数接口编写函数实体,实现:在主串中MainStr查找是否存在某特定子串SubStr1,若存在则将所有的SubStr1替换为新的指定子串SubStr2,函数返回字符串替换的次数。 具体要求和相关假设为: ① 函数接口定义为:int MyStrReplace(char * MainStr, char * SubStr1, char * SubStr2); ② 输入参数:主串变量MainStr,子串变量SubStr1,SubStr2; ③ 输出参数:无; ④ 处理规则及返回值:若主串中存在子串,用SubStr2替换主串MainStr中出现的所有与SubStr1相同的不重叠的子串,并返回字符串替换的次数;否则返回0。 ⑤ 假设: a)主串和两个子串均不为空串; b)MainStr[0]和SubStr1[0],SubStr2[0]分别存放对应字符串的长度,不用替换该部分。 2.问题分析 (1)根据实验一的内容可知,我们需要通过编写函数实体的形式实现串的赋值操作,主要的思路包括: (a)获得输入字符串的长度len; (b)将输入字符串的长度len赋值给待赋值字符串的第一个元素StrTobeAssigned[0]; (c)依次将输入字符串的数据赋值给待赋值字符串。 (2)根据实验二的内容可知,我们需要通过编写函数实体的形式实现串的替换操作,主要的思路包括: (a)遍历主串MainStr,检查是否存在某特定子串SubStr1; (b)如果存在则找到子串在主串中的位置; (c)在主串中删除该子串并更新主串长度; (d)在主串中插入该子串并更新主串长度; (e)过程中记录替换字符串的次数,遍历结束后返回该次数(如果没有替换则为0); 如果有必要,可以使用本实验已经提供的相关函数,如:求子串位置的函数MySubStrIndex(),子串删除函数MyStrDelete()和子串插入函数MyStrInsert()等
2022-05-20 08:59:18 7KB Cyuyan
1
jfrog-artifactory,docker-compose的一件部署版本,适合c++的版本,该版本占用资源小,部署方便,比较轻量级,是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项
2022-05-19 09:01:42 25.65MB jfrog docker-compose Ubuntu linux集群
1
windows下使用tcp实现视频传输
2022-05-18 23:25:19 308.12MB tcp/ip windows 音视频 网络协议
1
jfrog-artifactory,适合c++的版本,是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项
2022-05-18 21:00:30 542.19MB linux 源码软件 运维 jforg
1
温特穆特 Wintermute是一种(进行中的)C ++象棋游戏实现,我正在编写代码以提高自己的技能,并且因为我喜欢象棋。 构建并运行 make 与码头工人 docker build -t wintermute . docker run -i wintermute 路线图 将要执行: Check / checkmate验证 传人 整个游戏注释记录 执照
2022-05-18 14:07:26 72KB chess cpp C++
1
密度聚类算法,使用C++,VS
2022-05-17 16:44:03 1.67MB DBSCAN 密度 聚类
1
10K NTC热敏电阻主要使用在低温的产品应用中,一般在80℃以下,而100K ntc热敏电阻一般使用在高温的产品应用上,一般在100-250℃的高温环境,NTC10k,电阻变化大,测量比较稳定
2022-05-17 09:49:34 981B NTC 10k热敏电阻
1
一个小的程序,该程序会录制本机桌面和输出音频以及麦克风,编码为h264和aac,同时在本机利用IOCP简易的创建一个服务器,提供web服务和直播服务,支持httpflv和hls直播。
2022-05-17 09:03:28 7.07MB C/C 开发-视频处理
1
Peter Kovesi的基于LOG-Gabor滤波器的相位对称算法C++代码,自己整理的。可以直接拿去卷积图像提取特征,不过参数需要根据需要自己调节。 环境:OpenCV 3.4.9 ;VS2019
2022-05-16 10:38:04 12KB Log-Gabor,C++
1
开发修理登记软件时,需要在tableview中的表头实现筛选功能,进而需要筛选框的功能,代码如下: 搜索框是网上找的列子
2022-05-16 09:32:31 4KB qt 源码软件 开发语言
1