導航:首頁 > 文件處理 > c位元組壓縮

c位元組壓縮

發布時間:2022-07-30 05:34:33

Ⅰ c語言的字元串壓縮演算法問題

把ToString前面的int給去了,再確認下ToString這個函數是不是定義了(我好像沒看見這東西定義了)

Ⅱ 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);

}

Ⅲ C語言壓縮

#include <cstdio>
#include <string.h>
int main()
{
int i,n=0;
char a[105],t='0';
scanf("%s",a);
for(i=0;i<strlen(a);i++)
{
if(a[i]==t)
n++;
else
{
printf("%d ",n);
n=1;
if(t=='0')
t='1';
else
t='0';
}
if(i==strlen(a)-1)
printf("%d",n);
}
return 0;
}

Ⅳ 用C語言如何對文件進行壓縮

winrar軟體安裝後,所在的安裝目錄下有個rar.exe,開一個命令窗口到該目錄下運行rar
/?就能看到用法了,在你的程序裡面調用它的相應命令行是最簡單的方法,自己編寫壓縮演算法的話,先不談效率,起碼演算法就是相當復雜的了

Ⅳ c語言 文本文件壓縮

再發次,有80分呢哎



Ⅵ c語言高手進 壓縮與解壓程序

你可以把AAA替換為A3
char* compress(char str[])
{
char c,*s;
int i,j,k,n;
n=strlen(str);
s=(char*)malloc((n+1)*sizeof(char));
for(i=0;i<=n;i++)
s[i]='\0';
for(i=0;i<n;i++)
{
c=str[i];
for(j=i+1;c==str[j];j++);
s[k++]=c;
if(j-i>1)
s[k++]='0'+j-i;
i=j;
}
return s;
}
char* decompress(char str[])
{
char c,*s,s1[100]='\0';
int i,j,k,n;
n=strlen(str);
s=s1;
for(i=0;i<n;i++)
{
c=str[i];
if(str[i+1]>='2'&&str[i+1]<='9')
{k=str[i+1]-'0';i+=2;}
for(j=0;j<k;j++,s++)*s=c;
i++;
}
s=s1;
return s;
}

上面的代碼適用范圍有限,文件最好只含有字母,連續重復不能超過9次,請根據需要修改

Ⅶ 如何用C語言實現數據壓縮

首先選擇一個壓縮演算法

然後按照演算法實現壓縮代碼,調用介面就可以
常見的 可以使用哈夫曼編碼壓縮,或者使用開源的壓縮代碼,比如lzo, gzip, lzma等等。

Ⅷ 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);

}

Ⅸ 用C語言指針實現字元串壓縮

#include<stdio.h>
#define MAX_NUM 32int main()
{ char *p,str[60];
int i,j=0;
static int num[26];
p=(char*)malloc(MAX_NUM*sizeof(char));
gets(str);
for(i=0;str[i];i++)
{ if(str[i]==' ') p[j++]=str[i];
else {
if(num[str[i]-97]==0||num[str[i]-97]==2||num[str[i]-97]==5)
{ p[j++]=str[i]; num[str[i]-97]++;}
else num[str[i]-97]++;
} }
for(i=0;i<j;i++)
putchar(p[i]);
getch();
return 0;
}註:輸入的為小寫字母,而且句子長度不超過60個字元,保存字數不超過32個。。。。。在win_tc中通過……

閱讀全文

與c位元組壓縮相關的資料

熱點內容
手機端app的掃碼功能在哪裡 瀏覽:225
少兒編程中小班英語教案 瀏覽:430
鎖屏密碼加密手機怎麼解除 瀏覽:203
linuxlostfound 瀏覽:132
征途伺服器ip地址 瀏覽:328
git提交代碼命令行 瀏覽:163
什麼叫瀏覽器伺服器結構 瀏覽:155
於謙聊天哪個app 瀏覽:447
小鵬汽車nlp演算法工程師薪資 瀏覽:879
代碼加密與隱藏 瀏覽:647
fordfulkerson演算法 瀏覽:350
京東熱app在哪裡可以下載 瀏覽:874
彩報圖書app哪個好 瀏覽:301
新君威20壓縮比 瀏覽:186
手機php整站 瀏覽:915
windows路由跳轉命令 瀏覽:472
量子遺傳演算法程序 瀏覽:222
各編程語言自帶軟體庫 瀏覽:184
編程最少學習多少 瀏覽:403
禪海蠡測語譯pdf 瀏覽:189