導航:首頁 > 文件處理 > 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位元組壓縮相關的資料

熱點內容
壓縮包也會被加密軟體加密嗎 瀏覽:263
汽車奧特佳空調壓縮機怎麼樣 瀏覽:950
名字伺服器是什麼 瀏覽:10
suselinuxyum 瀏覽:247
魚台數控加工中心編程 瀏覽:471
安卓版本有什麼特典 瀏覽:786
游戲加密了不知道了怎麼辦 瀏覽:221
程序員周末沒時間談戀愛 瀏覽:628
購買奢侈品包一般用哪個app 瀏覽:208
寫小說pdf 瀏覽:766
湖北回收伺服器cpu雲主機 瀏覽:55
壓縮機填料的裝配 瀏覽:688
微信支付寶哪個app 瀏覽:585
電信營業廳app從哪裡更新 瀏覽:892
我的世界如何創建伺服器手機版 瀏覽:355
瀘州參加青少年編程難嗎 瀏覽:200
奧迪carplay安卓手機怎麼使用 瀏覽:270
壓縮機壓力機沒變化 瀏覽:243
南航app怎麼選座 瀏覽:537
信息工程編程是干什麼的 瀏覽:682