如果一个数组中连续0的个数小于5,则把0变为1有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}如果连续的0的个数小于5,则把0变成1最后的结果应该是 {1,1,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 11:46:59
如果一个数组中连续0的个数小于5,则把0变为1有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}如果连续的0的个数小于5,则把0变成1最后的结果应该是 {1,1,

如果一个数组中连续0的个数小于5,则把0变为1有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}如果连续的0的个数小于5,则把0变成1最后的结果应该是 {1,1,
如果一个数组中连续0的个数小于5,则把0变为1
有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}
如果连续的0的个数小于5,则把0变成1
最后的结果应该是 {1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}

如果一个数组中连续0的个数小于5,则把0变为1有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}如果连续的0的个数小于5,则把0变成1最后的结果应该是 {1,1,

挺有意思的问题!见程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] s = { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 
                        1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1,
                        1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0,
                        0, 0, 0, 0, 1, 1, 1, 1 };
            int[] r = ConvertBytes(s);
            //Console.Write("{");
            //for (int i = 0; i < r.Length; i++)
            //{
            //    Console.Write(r[i].ToString() + ", ");
            //}
            //Console.Write("}");
        }

        static int[] ConvertBytes(int[] b)
        {
            List<ZeroSequence> list = new List<ZeroSequence>();
            bool zero = false;
            for (int i = 0; i < b.Length; i++)
            {
                if (b[i] == 0)
                {
                    if (!zero)
                    {
                        list.Add(new ZeroSequence() { Index = i, ZeroCount = 1 });
                        zero = true;
                    }
                    else
                    {
                        ZeroSequence seq = list.Last();
                        seq.ZeroCount += 1;
                    }
                }
                else
                {
                    zero = false;
                }
            }

            foreach (var z in list)
            {
                if (z.ZeroCount < 5)
                {
                    for (int i = z.Index, j = 0; j < z.ZeroCount; i++, j++)
                    {
                        b[i] = 1;
                    }
                }
            }
            return b;
        }
    }

    class ZeroSequence
    {
        public int Index { get; set; }
        public int ZeroCount { get; set; }
    }
}

如果一个数组中连续0的个数小于5,则把0变为1有一个数组,假设为{1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1}如果连续的0的个数小于5,则把0变成1最后的结果应该是 {1,1, 逆序数的问题对于个数互补相等的整数数组(i1,i2,i3...in)n是不小于2的正整数,如果piq,则称ip与iq是该数组的一个逆序,一个数组中所有逆序的个数称为该数组的逆序数,例如 数组(2,4,3,1)中有 如果数组value中连续存放着15个数,如果采用顺序查找法,则查找一个数的平均比较次数是( ). 在c语言中,int a[10]表示a是一个整数有10个元素的数组?1.如果这是a[5]就死其中的一个元素?2.数组元素是以a[0]开始的把? matlab中向量的连续非零数组的个数怎么求?matlab里的向量a=[0 0 0 1 2 3 0 0 4 5 0 0 6 0 0],我想得出这个向量a中有3个连续非零数组(即[1 2 3]、[4 5]、[6]).我只需要知道有几个这种连续非零数组就行. 统计数组中正数和负数和0的个数 判别一个输入的整数数组中各元素的值,若大于0则输出该值,若小于等于0则输出0. Matlab中怎么返回一个数组中元素的个数 输入一个4行4列的二维数组,统计偶数的个数,并输出所有小于5的数. 输入一个4行4列的二维数组,统计偶数的个数,并输出所有小于5的数. 栈中元素个数问题假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______ n个连续自然数,乱序存放于一个数组中,缺失一个,缺失的位置处放 置 -1,问怎么确定丢失的那个数? 罗马废墟函数FUN的功能是; 把形参a所指数组中的最大值放杂a[0]中,接着求出a所指数组中的最小值防在 a[1]中再把a所指数组元素中的次大值a[2]中,把a所指数组的数据最初排列为:1,4,2,3,9,6,5,8,7,则 16、若有定义:int a[5][6]; 则下面关于数组a的叙述中正确的是__________________.①该数组共有20个元素 ②a[0][6]是该数组的一个元素③a[0][0]是该数组的一个元素 ④a[5][6]是该数组的一个元素17、enum 统计一个数组中正数和负数的个数 汇编程序:统计一个数组中正数和负数的个数 数组元素插入如何在一个排好的数组中插入几个数使之成为另一个数组输出 数字信号处理问题完成一个函数,说明次函数大概用到哪些地方.ret_data=data_compress(data)把data中所有奇数变成一个距离其最近且不小于Z的一个偶数输入数据data可以为一个数,一维数组,二维数组,