黑马程序员技术交流社区

标题: 一个数组到另一个新数组的问题 [打印本页]

作者: 郭小伟    时间: 2012-12-25 12:46
标题: 一个数组到另一个新数组的问题
将一个数组里的一些元素,比如奇数,怎么放入另一个数组里? 另一个数组如果不知道长度的话!该怎么定义新数组呢
作者: 王继光    时间: 2012-12-25 12:55
list<>   list泛型集合 你要存 奇数 则是   list<int>  li = new list<int>();
然后一个一个的 li.Add(a)  进去
作者: 郭小伟    时间: 2012-12-25 12:57
王继光 发表于 2012-12-25 12:55
list   list泛型集合 你要存 奇数 则是   list  li = new list();
然后一个一个的 li.Add(a)  进去 ...

放到另一个int型   数组  不是集合   怎么弄啊
作者: 王继光    时间: 2012-12-25 13:03
那非要用数组的 话 要么就申请一个 和 第一个数组一样大小的数组  即使第一个数组里得元素全是奇数也没关系
  第二种方法 先 循环一边第一个数组  用一个变量去储存奇数元素的个数 然后再创建一个长度合适的数组
作者: rla540    时间: 2012-12-25 13:33

放到另一个数组中,首先计算数组中有多少个奇数,然后根据奇数个数来生成新的数组。再把每个奇数放到新的数组中去


        int[] num = {1, 3, 2, 53, 6, 53, 75, 44, 34, 67, 88};
        int count = 0;//记录数组中奇数个数

         for (int i = 0; i < num.Length; i++)
            {
                if (num %2 != 0)
                {
                    count ++ ;
                }
            }

            int[] newArr = new int[count];//根据计算上一个数组中奇数个数,生成新的数组
            int j = 0;//记录添加奇数新数组的下标
            for (int i = 0; i < num.Length; i++)
            {
                if (num %2 != 0)
                {
                    newArr[j] = num;//将奇数付给新数组
                    j++;
                }               
            }



作者: 张鹏飞    时间: 2012-12-25 13:43
1:遍历第一个数组,找到所有符合条件的字符并计数i++,然后就可以定义新数组了
2:可以定义一个动态数组ArrayList
    ArrayList ar=new ArrayList(); //定义一个新的ArrayList
    循环
   {
           ar.Add(string);   
     }
作者: 黄林    时间: 2012-12-28 13:53
先放到集合List<int>里面,然后判断加入到List<int>里面,最后.ToArray()转成数组就行了
作者: ykrh    时间: 2013-1-14 23:39
class Program
    {
        //将int数组中的奇数放到一个新的int数组中返回
        static void Main(string[] args)
        {
            //定义一个整型数组
            int[] numArr = { 23,14,22,57,43,86,69,34};
            //定义一个整数泛型
            List<int> numlist=new List<int>();
            for (int i = 0; i < numArr.Length; i++)
            {
                //判断是否为奇数,是则添加到整数泛型中
                if (numArr[i] % 2 == 1)
                {
                    numlist.Add(numArr[i]);
                }
            }
            //将泛型数组转换为整型数组
            int[] newArr = numlist.ToArray<int>();
            //遍历输出
            for (int i = 0; i < newArr.Length; i++)
            {
                Console.WriteLine(newArr[i]);
            }
            Console.ReadKey();
        }
    }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2