[C++] 行程编码C++代码
#include<iostream>
#include<string.h>
#include<string>
#include<cstring>
#include<sstream>
using namespace std;
/*
问题检查函数
参数:输入的字符串
返回:BOOL
真表示为编码问题
假表示为解码问题
*/
bool check(string str){
bool ok=true;
for(int i=str.length()-;i>=;i--){
if(str[i]>='' && str[i]<=''){
ok=false;
break;
}
}//遍历看字符串中是否含有数字
return ok;
}
/*
编码函数
参数:待编码字符串
返回:无
*/
void bian(string str){
str+='';//给待编码的字符串加一个结束位’0‘
string new_str="";//编码后的字符串
int slen=str.length();
char pre=str[];//标记当前计算重复的字符
int renum=;//当前重复的个数
for(int i=;i<slen;i++){
if(str[i]==pre){//如果重复就继续累加
renum++;
}else{//否则将累加度和自符存入新的字符串中并更新字符和重复度
char *temp=new char;
sprintf(temp,"%d",renum);
new_str+=temp;
new_str+=pre;
renum=;
pre=str[i];
}
}
str=str.substr(,slen-);
cout<<"**********************************************\n";
cout<<"* 你想的是把原来的数据编码,对吧?结果如下:\n";
cout<<"* "<<str<<" ---> "<<new_str<<'\n';
cout<<"* 转换前长度为: "<<str.length()<<'\n';
cout<<"* 转换后长度为: "<<new_str.length()<<'\n';
cout<<"* 转换率为 : "<<new_str.length()/(str.length()*1.0)<<"\n";
cout<<"**********************************************\n\n";
}
/*
解码函数
参数:待解码字符串
输出:无
*/
void jie(string str){
istringstream in(str);//使用流操作
int num;char s;
string new_str="";
while(in>>num>>s){
while(num--)new_str+=s;
}
cout<<"**********************************************\n";
cout<<"* 你想的是把原来的数据解码,对吧?结果如下:\n";
cout<<"* "<<str<<" ---> "<<new_str<<'\n';
cout<<"* 解码前长度为: "<<str.length()<<'\n';
cout<<"* 解码后长度为: "<<new_str.length()<<'\n';
cout<<"* 解码率为 : "<<new_str.length()/(str.length()*1.0)<<"\n";
cout<<"**********************************************\n\n";
}
int main(){
string str;
while(getline(cin,str)){
if(check(str)){
bian(str);
}else{
jie(str);
}
}return ;
}
[C++] 行程编码C++代码的更多相关文章
- [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~
3D相关开发 [direct-X] 1.direct-X最小框架 [OpenGL] 1.环境搭建及最小系统 [OpenGL] 2.企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [ ...
- 日期格式代码出现两次的错误 ORA-01810
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- redux-amrc:用更少的代码发起异步 action
很多人说 Redux 代码多,开发效率低.其实 Redux 是可以灵活使用以及拓展的,经过充分定制的 Redux 其实写不了几行代码.今天先介绍一个很好用的 Redux 拓展-- redux-amrc ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
随机推荐
- window date type
Most string operations can use the same logic for Unicode and for Windows code pages. The only diffe ...
- 博客的开端,找对象不再new
今天是第一次用blog,小白开始完善了!! 希望大家多多照顾一下.
- rutime中动态调用类的方法
Dynamically invoke a class method in Objective C 代码 #import <Foundation/Foundation.h> #import ...
- POJ 1236-Network of Schools (图论-有向图强联通tarjan)
题目链接:http://poj.org/problem?id=1236 题目大意:N(2<N<100)个学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输.问题 ...
- 技术英文单词贴--S
S separator 分离,隔离器 shortcut 快捷方式,捷径 sort 排序 special 特殊的,专用的 specified 规定的,详细说明,指定 specify 指定,明确提出,详细 ...
- weblogic myeclipse小知识
新建域 http://jingyan.baidu.com/article/f7ff0bfc72904e2e27bb136f.html svn 上down下来一些新项目的时候没法添加到weblogic ...
- 对于for循环构成的九宫格里的button,如何满足“有默认选中的一个,并且只能选中一个”?
需要构造一个全局变量self.priceBtn 在九宫格写法中 ) { self.priceBtn = btn; self.priceBtn.selected = YES; } 在button的点击方 ...
- linux 系统下,如何清空文件内容
最近用 crontab命令 做了一些 同步任务,可后期同步任务的代码没用了,于是,我就直接删除了 代码(对应的jar包),但是 crontab -e 的命令行没有删除 ,以后,每天我的Azure vm ...
- db2 进程
DB2 通用数据库进程全接触 Dwaine Snow, DB2 UDB 和 Informix IDS 产品经理, IBM 多伦多实验室 Dwaine Snow 是 DB2 UDB 分区数据库以及查询巡 ...
- MySQL数据库指定字符集
mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题. 我们遵循的标准是,数据库,表,字段和页面或文本的编 ...