matlab行程编码,报告论文:游程(行程)长度编码matlab(或者C++)实现
游程(行程)長度編碼matlab(或者C++)實現html
我須要的是算法實現,好比說我輸入序列{1,0,0,0,0,1,1},輸出為{11,04,12}.后面輸出結果的含義是,"11"表示1的個數為1,"04"表示后面連續0的個數為4,"11"表示最后面出現連續1的次數為2次ios
#include算法
#include post
#include 編碼
using namespace std;spa
string itostring(int x)htm
{blog
std::ostringstream o;ci
if (o << x)string
{
return o.str();// 把x轉換成1位字符輸出
}
return 0;
}
int strlen(char str[])
{
int i,leng;
i=0;
while(str[i]!='\0')
i=i+1;
leng=i;
return(leng);
}
void main()
{
int m=0,Len,j,n,count0=0,count1=0,b[100];
cout<
char data[100];
cin >>data;
Len=strlen(data);
for(m=0;m
{
if(data[m]=='1')
{
for(;data[m]=='1';m++)
{
count1++;
}
cout<
count1=0;
m--;
}
else
{
for(;data[m]=='0';m++)
{
count0++;
}
cout<
count0=0;
m--;
}
}
}
運行結果:
請輸入一些二進制數據:
111100001110011
S14S04S13S02S12? Press any key to continue
注意:
咱們考慮0、1序列中連續的1或0的個數超過 10個,若是超過會得出這樣的結果:
請輸入一些二進制數據:
1111100000000000011111111111100000
S15S012S112S05? Press any key to continue
這種結果也是能夠接受的,咱們用S1標識二進制“1”的個數,S0標識二進制“0”的個數。
須要解決的問題是:
怎么解決咱們輸入序列是任意字符 ,固然,你按照個人算法,在后面填加N 多個if(data[m]=='*’) 判斷語句也行,但我是絕對不這么干的~~~
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的matlab行程编码,报告论文:游程(行程)长度编码matlab(或者C++)实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redmi K70标准版核心配置公布:2
- 下一篇: c语言整数四则运算表达式的输出格式控制,