Создать метод на C# для выбора сочетаний элементов массива

Узнай цену своей работы

Формулировка задачи:

Пожалуйста, помогите создать на си-шарп метод, который принимает в качестве параметров одномерный массив и некое число k и возвращает двумерный массив, строки которого представляют собой сочетания элементов одномерного массива по k.

Решение задачи: «Создать метод на C# для выбора сочетаний элементов массива»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication1
{
    static class Program
    {
        public static IEnumerable<IEnumerable<T>> Combinations<T>(this IEnumerable<T> elements, int k)
        {
            return k == 0 ? new[] { new T[0] } :
              elements.SelectMany((e, i) =>
                elements.Skip(i + 1).Combinations(k - 1).Select(c => (new[] { e }).Concat(c)));
        }
 
        static void Main(string[] args)
        {
            var result = Combinations(new[] { 1, 2, 3, 4, 5 }, 3);
            foreach(var line in result)
            {
                Console.WriteLine(String.Join(", ", line));
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы