描述
某压缩算法的基本思想是用一个数值和一个字符代替具有相同值的连续字符串。例如,输入字符串
“RRRRRGGBBBBBB,压缩后为“5R2G6B”
现请你帮忙实现下这个压缩算法,并写出处理程序。
输入
输入为一字符串,长度不超过80
输出
输出为压缩后的字符串
样例输入
RRRRRGGBBBBBB
样例输出
5R266B
`
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std;
string n;
int s[85],z;
char ch,a[85];
int main(){
cin>>n;
for(int i=0;i<n.size();i++){
if(ch!=n[i]){
z++;
a[z]=n[i];
s[z]++;
ch=n[i];
}
else s[z]++;
}
for(int i=1;i<=z;i++){
cout<<s[i]<<a[i];
}
return 0;
}
这个要求其实不难,循环遍历就可以完成
刚开始学习的话,就试着写一下嘛,多动手敲一些代码,才能提高更快
有错误的话,把代码发出来,大家给你指出问题
这样,你也理解的更深刻。