首页 > 解决方案 > 如何在不将元素彼此相邻的情况下存储数组的子数组?

问题描述

static void Main(string[] args)
    {
        Console.WriteLine("Enter your number of array inputs");
        int numberofarray = Convert.ToInt32(Console.ReadLine());

        int[] array = new int[numberofarray];

        Console.WriteLine("Enter the values of the array");

        for(int i=0; i<numberofarray;i++)
        {
            Console.WriteLine("Enter {0} . number", i + 1);
            array[i] = Convert.ToInt32(Console.ReadLine());
        }


        createsubarray(array);

    }

    static void createsubarray(int[] array)
    {
        int[,] subarray = new int[Convert.ToInt32(Math.Pow(2, array.Length)-1), array.Length]; 


        int counter = 0;
        for (int i = 0; i < array.Length; i++)
        {

            for (int j = i; j<=array.Length; j++)
            {

                for(int k = i; k<j; k++)
                {                      
                      subarray[counter, k] = array[k];     
                }

                counter++;

            }

        }

        for (int m = 0; m < subarray.GetLength(0); m++)
        {
            for (int l = 0; l < subarray.GetLength(1); l++)
            {
                Console.WriteLine(subarray[m, l]);
            }

            Console.WriteLine();
        }


    }

我能够存储子数组,但我不知道如何不存储空子数组,并且如果存储了一个元素,则不会存储下一个元素。例如;

数组 = {1,2,3,4,5}

子数组应该是这样的 = {1,3,5},{1,3},{1,5},{2,4},{3,5}

标签: c#arrayssub-array

解决方案


推荐阅读