当前位置:首页 » 文件管理 » 字符压缩

字符压缩

发布时间: 2022-01-10 02:30:11

c语言字符串如何压缩

话说B数组不应该是整形呀,不然不能保存字母了。以下是我的代码。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

b[p++]=a[i];

count=1;

}

elseif(count==2)

{

b[p++]=a[i];

b[p++]=a[i];

count=1;

}

else

b[p++]=a[i];

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

⑵ word提示含有无法压缩的字符

1、选中这些字符尝试取消格式,或把字符改成字体、NewtimeRoman等类型。是字体的原因,源文件编辑时选用了电脑上没有的字体,到了这里自然无法识别。
2、文件本身被破坏或损坏了,如果都是这样那就要重新安装OFFICE。
3、有没有设置隐藏文字?如有,工具菜单-->选项-->视图(格式标记)-->"全部"前面打勾,确定。就可以看到文章里所有的文字了。再选中字下面有点的字在字体格式里把隐藏文字前面的勾去掉就可以了。
4、先Ctrl-A全选并Ctrl-X剪切,然后进入编辑菜单,选“选择性粘贴”-“无格式文本”。

⑶ 使用C语言实现字符串的压缩。

/*
原串:111225555
压缩后:312245
原串:333AAAbbbb
压缩后:333A4b
原串:ASXDCdddddd
压缩后:1A1S1X1D1C6d
Pressanykeytocontinue
*/
#include<stdio.h>
#include<string.h>

char*CompressStr(chars[]){
chart[255];
inti=0,j,k=0;
while(s[i]){
j=i+1;
while(s[i]==s[j])++j;
t[k++]=j-i+'0';
t[k++]=s[i];
i=j;
}
t[k]='';
strcpy(s,t);
returns;
}

intmain(void){
chari,s[][20]={"111225555","333AAAbbbb","ASXDCdddddd"};
for(i=0;i<3;++i){
printf("原串:%s ",s[i]);
printf("压缩后:%s ",CompressStr(s[i]));
}
return0;
}

⑷ C#string类型压缩,最低能压缩多少

string能够压缩多少,要看具体它携带的信息。
比如string s = new string('x', 10000000)一千万个字符,由于信息量少,可以压缩为几个字节。
而一个信息量大的串,比如100个随即字符的串,可能都压缩不了。

从信息理论上说,一定有东西是压缩不了的。

抽屉原理告诉我们,3个苹果放入2个抽屉,一定有抽屉要放一个以上的苹果。
100个字节,所有的组合有2的800次方那么多。
而101个字节的组合,有2的808次方那么多,这些组合是不能放入100个字节的抽屉而不重复的。
也就是说,某些数据是不能被压缩的,哪怕是只压缩一个字节也办不到。

⑸ C语言求助:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

用下面的代码给你提供个思路。这代码连续字符不得超过9个……
#include "stdio.h"
void main(void){
char a[1000]="gcccddecc";
int i,j,k,n;
printf("Type an integer(a~z)...\nStr=");
gets(a);
for(k=i=0;a[i];i++){
for(j=i+1,n=0;a[i]==a[j];j++) n++;
if(n){
a[k++]=n+'1';
a[k++]=a[--j];
i+=n;
}
else a[k++]=a[i];
}
a[k]='\0';
printf("The result = %s.\n",a);
}

java 字符串压缩与解压

给你提供个思想
首先你这不是物理上的压缩,也就是说它是一个逻辑上的我们认同上的压缩。
你需要写一个算法来对你所要处理的数据进行统计,然后按照算法来改变结果。
最后达到一个后台的虚拟压缩(实际上不是压缩,只是算法)。

⑺ 字符串解压缩

刚才编成了压缩的程序,不好意思,现在的可以解压了。
程序没有给你编写读写文件的内容,文件读写自已去编,那个相对就简单了,程序只介绍了实现基本功能的内容。你可以输入3A4B7D测试。
void
main()
{int
m=0;int
j=0;
//string
a;
//char
c[111];
char
a[111];
char
b[111];
scanf("%s",a);
for(int
i=0;a[i]!='\0';i++)
{
cout<<"a"<
1&&a[i]-'0'<9)
{
m=a[i]-'0';}
else{b[j]=a[i];j++;}
while(m>1)
{
b[j]=a[i+1];
j++;
m--;
}
}
cout<
评论
0
0
0
加载更多

⑻ 字符串如何压缩

去网上搜索免费代码,这年代还自己写通用代码,又浪费时间又浪费精力————前提,别拿别人的免费代码做商业用途。

⑼ 用java如何实现压缩字符串

package javase1.day02;
/**
* 1)一种字符串压缩算法
* str ="aaaabbccccddeaaa"
* 压缩为:"4a2b4c2d1e3a"
* 原理实现:
* str = "aaaabbccccddeaaa"
*
* c = str.charAt(i)//c是每个字符
* 1) 初始化
* StringBuilder buf = new StringBuilder();
* int count = 0;代表相同的字符个数
* char ch = str.charAt(0);代表正在统计的相同字符'a'
* 2) 从i=1开始迭代每个字符
* c = str.charAt(i);//c是每个当前字符
* 3) 检查当前字符c与被统计ch是否一致
* 如果一致 count++
* 否则(不一致)
* 向缓冲区buf增加count+ch
* count=0,ch=c;
* 3)没有下个字符就结束
* 4)还有字符串吗?回到2)
*
* 2)实现还原算法
* str = "4a2b4c2d1e3a";
* i
*/
public class Demo5 {
public static void main(String[] args) {
String s = comp("aaaawwwwe");
System.out.println(s);
// System.out.println(decomp(s));

}
public static String comp(String str){
int i = 1;
StringBuilder buf = new StringBuilder();
int count = 1;
char ch = str.charAt(0);
for(;;){
char c = i==str.length() ? '\10':str.charAt(i);
if(c==ch){
count++;
}else{
if(count == 1)
buf.append(ch);
else
buf.append(count).append(ch);
count=1;
ch = c;
}
i++;
if(i==str.length()+1){
break;
}
}
return buf.toString();

}
}

热点内容
安卓软件和苹果系统哪个好 发布:2024-11-15 05:48:32 浏览:283
pythonwhileelse 发布:2024-11-15 05:39:10 浏览:671
java文件流上传文件 发布:2024-11-15 05:24:02 浏览:147
linux安装so 发布:2024-11-15 05:22:29 浏览:581
九游版冒险王2适合安卓哪个版本 发布:2024-11-15 05:12:33 浏览:600
iphonexsmax怎么连接服务器 发布:2024-11-15 05:11:46 浏览:775
长江存储校招 发布:2024-11-15 05:11:01 浏览:966
oraclesql函数大全 发布:2024-11-15 05:10:00 浏览:465
form多文件上传 发布:2024-11-15 05:09:21 浏览:913
云服务器搭建网站哪家好 发布:2024-11-15 04:57:34 浏览:512