/edit:感谢到目前为止的帮助,但是我还没有任何解决方案来获取示例输入并提供示例输出。我的描述不是很清楚,抱歉。
我有一个由二进制数据组成的数组。我想做的是确定每个完整的 1 或 0 段有多长。
假设我有这些数据:
0111010001110
在数组 binaryArray
中,我需要将其转换为:
0100110
存储在 nwArray
中,其中 0
表示窄(长度小于 3 位),1
表示宽(长度>3 位)。我不关心二进制值,而是关心每个组件的长度。我不确定这种解释是否合理。
这就是我所拥有的;它不起作用,我明白为什么,但我想不出一个好的解决方案。
for(x=0;x<1000;x++){
if(binaryArray[x]==binaryArray[x+1]){
count++;
if(count>=3){
nwArray[y]=1;
y++;
count=0;
}
}else{
if(barcodeArray[x]){
nwArray[y]=0;
}
}
}
最佳答案
这样行吗?
int count = 0;
for (x=0; x<1000;x++)
{
if (binaryArray[x] != binaryArray[x+1])
{
if (count < 3)
nwArray[y]=0;
else
nwArray[y]=1;
y++;
count = 0;
}
else
count++;
}
关于C 数组和完整列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/607348/